今天早些時候我正在使用.trim()vba函數清理數據。雖然它造成。要改變,我不知道爲什麼。Excel VBA .Trim功能更改。到,
Cells(rw, j).Value = Trim(Cells(rw, j).Value)
是我做到了,如下改變值:
5.2 - > 5,2
有人可能會認爲,這是由於本地設置,儘管是同一列中包含的值像3(6.1)這些沒有搞砸。
在此先感謝
今天早些時候我正在使用.trim()vba函數清理數據。雖然它造成。要改變,我不知道爲什麼。Excel VBA .Trim功能更改。到,
Cells(rw, j).Value = Trim(Cells(rw, j).Value)
是我做到了,如下改變值:
5.2 - > 5,2
有人可能會認爲,這是由於本地設置,儘管是同一列中包含的值像3(6.1)這些沒有搞砸。
在此先感謝
轉到文件 - 選項 - 高級,尋找使用系統分隔符。你想要小數點分隔符。和千位分隔符是,
您可以在VBA使用下面的代碼也更改這些:
Application.DecimalSeparator = "."
Application.ThousandsSeparator = ","
Application.UseSystemSeparators = False
當你不想改變到這些設置,更改您的代碼:
Cells(rw, j).Value = "'" & Trim(Cells(rw, j).Text)
.Text將爲您提供單元格內容的字符串版本,而不是嘗試將其轉換爲數字(如果它看起來像一個數字)。
你可以試試這個:
Dim temp As String
temp = Cells(rw, j).Value
temp = Trim(temp)
Cells(rw, j).Value = temp
可惜我不能測試它。
嘗試使用'Cells(rw,j).Value = Trim(Cells(rw,j))' – Shrikant
該單元格的'.NumberFormat'是什麼? – braX
我敢打賭我的房子是本地設置。 '3(6.1)'保留小數點的原因是,我敢肯定,這個值將被解釋爲一個字符串。 – Ambie