返回列表 上一主題 發帖

[發問] 儲存格出現格式為文字或開頭為單引號的錯誤

回復 1# 198188

資料剖析
play.gif
學海無涯_不恥下問

TOP

回復 3# 198188
這類問題常是由其他軟體轉入或是網頁複製貼上
若是上述情況可能只有藉由資料剖析來修正
還有一種可能是你的工作表儲存格樣式的數値格式設定成文字,所以輸入數字也會被存成文字
學海無涯_不恥下問

TOP

回復 5# 198188
http://forum.twbts.com/thread-4577-1-2.html
造成檔案虛胖的原因太多了
任何一個操作都會被記錄下來
VBA對檔案資料的操作必須盡可能只對最小資料範圍做操作
學海無涯_不恥下問

TOP

回復 9# 198188
A1是數值絕對沒問題
B1是文字,那就要看文字是否有規則
都是2位數加%嗎?
有可能5%或100%這樣非2位數嗎?
是否與deposit之間都有空格?
若以你的例子使用LEFT取3個字元
%符號還是會將LEFT取出的20%視為文字
而產生型態不符
可利用Evaluate函數轉成計算式
  1. Sub ex()
  2. [C1] = Evaluate([A1] & "*" & Left([B1], 3))
  3. End Sub
複製代碼
play.gif
學海無涯_不恥下問

TOP

回復 11# 198188


    [B1]=Split([A1],"/")(0)
學海無涯_不恥下問

TOP

回復 16# 198188
  1. For Each a In Range([A1], [A1].End(xlDown)) '處理A欄文字
  2. d = IIf(InStr(a, "/") > 0, "/", IIf(InStr(a, " ") > 0, " ", "-")) '取得分隔符號
  3. b = IIf(InStr(a, ", ") > 0, Replace(a, ", ", ","), a) '若以空白鍵為分隔,則將逗號後的空白消除
  4. mystr = Split(b, d)(UBound(Split(b, d))) '以分隔符號分隔後最後的字串
  5. a.Offset(, 1) = Trim(Replace(b, d & mystr, "")) '寫入B欄
  6. a.Offset(, 2) = Trim(mystr) '寫入C欄
  7. Next
複製代碼
學海無涯_不恥下問

TOP

回復 21# 198188

    Set FRng = wb.Sheets("HK HAIPONG").Range("A:A").Find(A, lookat:=xlWhole, SearchDirection:=xlPrevious)
     If Not FRng Is Nothing Then
        If Trim(FRng.Offset(, 11).Value) <> "" then  
             A.Offset(, 1) = FRng.Offset(, 11).Value
             If rng Is Nothing Then Set rng = A.Offset(, 1) Else Set rng = Union(rng, A.Offset(, 1))
       End If
     End If
學海無涯_不恥下問

TOP

回復 23# 198188

看你的程式碼似乎是還有另一檔案為執行程式的檔案
但是在程式碼內容卻不是針對Master.xlsx檔案做更新
這樣斷章取義的問題無法解答
學海無涯_不恥下問

TOP

回復 25# 198188

ThisWorkbook是指程式碼所在的活頁簿
學海無涯_不恥下問

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題