在VBA中更改小数分隔符

在VBA中更改小数分隔符,vba,excel,Vba,Excel,我已经用VBA编写了简单的代码(看到了问题,但这些解决方案都不起作用) 不幸的是,excel没有使用带点分隔符的字符串,而是在cell.Value中使用带逗号的双精度字符。奇怪的是,当我用“x”交换这个空格时,它会转换成f。例12,3到_12.3。我怎样才能修好它 另外,我在末尾添加了“u”以确保toString保持字符串状态。我以前遇到过这个问题。在写入单元格之前,需要更改单元格的格式 Application.Workbooks("Book1").Sheets("Sheet1").Range(

我已经用VBA编写了简单的代码(看到了问题,但这些解决方案都不起作用)

不幸的是,excel没有使用带点分隔符的字符串,而是在cell.Value中使用带逗号的双精度字符。奇怪的是,当我用“x”交换这个空格时,它会转换成f。例12,3到_12.3。我怎样才能修好它


另外,我在末尾添加了“u”以确保toString保持字符串状态。

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

Application.Workbooks("Book1").Sheets("Sheet1").Range("A1:A100").NumberFormat = "@"
在该行运行后,您可以像这样简单地写入列:

Cells(1,1).Value = "12.3"
Excel将保留字符串格式,而不会将其转换为双精度格式


希望这有帮助。

这条线应该做什么
cell.Value=”“+Left(toString,(Len(toString)-1))
@Andreas起初看起来是这样的:
cell.Value=Left(toString,(Len(toString)-1))
但我发现cell.Value变为double,所以我尝试添加一个空格将其转换为字符串,但没有成功。
Cells(1,1).Value = "12.3"