簡體   English   中英

Excel VBA.Trim功能更改。 至 ,

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM