更改VBA中的小数点分隔符

我已经在VBA中编写了简单的代码( 在这里和这里看到的问题,这些解决scheme都没有工作)。

Dim toString As String toString = cell.Value & "_" If (InStr(toString, ",")) Then toString = Replace(toString, ",", ".") toString = Trim(toString) cell.Value = " " + Left(toString, (Len(toString) - 1)) End If 

不幸的是,与单击分隔符的string不同,excel使我在cell.Value中逗号加倍。 奇怪的是,当我用“_”交换这个空格时,它将f转换。 恩。 12,3进入_12.3。 我该如何解决?

PS我在最后添加“_”来确保toString将保持为String。

我以前有过这个问题。 在写入之前,您需要更改单元格的格式。

 Application.Workbooks("Book1").Sheets("Sheet1").Range("A1:A100").NumberFormat = "@" 

在这一行之后,你可以简单的写下这个列:

 Cells(1,1).Value = "12.3" 

Excel将保持string格式,而不是将其转换为双精度。

希望这可以帮助。