[英]Excel VBA .Trim function changes . to ,
今天早些時候,我正在使用.trim()vba函數清理數據。 雖然造成了。 要更改為,我不知道為什么。
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將為您提供單元格中內容的字符串版本,而不是嘗試將其轉換為數字(如果看起來像數字)。
如果您不想更改此應用程序的全局系統/ excel設置,則可以嘗試使用以下方式將值強制為文本:
With Cells(rw, j)
.NumberFormat = "@"
.Value = Trim(Cells(rw, j).Value)
End With
或者,根據您的評論:
With Cells(rw, j).Value = "'" & Trim(Cells(rw, j).Value)
您可以嘗試以下方法:
Dim temp As String
temp = Cells(rw, j).Value
temp = Trim(temp)
Cells(rw, j).Value = temp
不幸的是我無法測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.