【发布时间】:2016-08-05 04:51:19
【问题描述】:
如果 windows 采用 USFormat(小数 = 点),则下面的示例代码运行良好,但在以荷兰语格式(小数 = 逗号)运行时会中断。
为什么?
有没有办法以逗号-十进制格式将公式写入单元格,而不需要将每个逗号替换回原点?
Sub TestHandleRegionalFormat()
SourceData = "-.1"
Application.UseSystemSeparators = True
ActiveSheet.Cells(1, 2) = GetDecimalSeparator
ActiveSheet.Cells(2, 2) = Application.DecimalSeparator
If GetDecimalSeparator = "," Then SourceData = Replace(SourceData, ".", ",")
ActiveSheet.Cells(3, 2) = SourceData + 1000
ActiveSheet.Cells(4, 2) = "=" & SourceData & "+1000"
End Sub
Public Function GetDecimalSeparator()
'http://stackoverflow.com/a/32992918/4797660
GetDecimalSeparator = Mid(Format(1000, "#,##0.00"), 6, 1)
End Function
USFormat 输出
荷兰语格式输出
【问题讨论】:
标签: excel excel-formula decimal-point regional-settings vba