【发布时间】:2012-01-23 13:36:42
【问题描述】:
我使用打印功能将单元格值导出到 csv 文件。我在几台具有不同本地化设置的 PC 上使用此宏。我遇到的问题是,在某些 PC 上,输出为 4,11,而在其他 PC 上为 4.11。是否有任何格式方法,可以让我总是用分号作为小数分隔符写一个数字?
【问题讨论】:
-
你不能用replace函数把任何','替换成'.'
我使用打印功能将单元格值导出到 csv 文件。我在几台具有不同本地化设置的 PC 上使用此宏。我遇到的问题是,在某些 PC 上,输出为 4,11,而在其他 PC 上为 4.11。是否有任何格式方法,可以让我总是用分号作为小数分隔符写一个数字?
【问题讨论】:
据我所知,没有用于更改小数点分隔符的格式方法。相反,您的选项是暂时告诉 Excel 使用特殊字符或使用 Replace()。
Application.UseSystemSeparators = False
Application.DecimalSeparator = ";"
Print #1, rngValue.Text
或者
Print #1, Replace(rngValue, ",", ";")
在任何一种情况下,当重新读取数字时,您都会遇到问题,将它们转换回正确的字符,以便将它们视为数字。
一个更好的问题可能是使用逗号作为小数分隔符的地方的程序员如何处理 CSV 文件中的十进制值?
【讨论】: