2012-01-23 47 views
1

我使用打印功能将单元格值导出到csv文件。我在具有不同本地化设置的多台PC上使用此宏。我遇到的问题是,在某些电脑上,其他电脑的输出是4,11和4.11。有没有任何格式方法,允许我总是用分号作为十进制分隔符来编写一个数字?带正确小数的Excel打印编号分隔符

+0

你想说冒号吧? –

+0

这是对的! – TheJoeIaut

+0

您不能使用替换函数来将','替换为'。' – Ian

回答

3

据我所知,没有更改小数点分隔符的格式方法。相反,您的选项会暂时告诉Excel使用特殊字符或使用Replace()。

Application.UseSystemSeparators = False 
Application.DecimalSeparator = ";" 
Print #1, rngValue.Text 

或者

Print #1, Replace(rngValue, ",", ";") 

在这两种情况下,你有问题,阅读的数字时回来,将它们转换回到正确的字符,使他们被认为是数字的。

一个更好的问题可能是程序员如何在使用逗号作为小数点分隔符的地方处理CSV文件中的十进制值?