使用德语Excelparsing美国数字格式
我正在创build一个Excel文件,帮助人们自动处理数据。 在这张表中,有数字必须被parsing(并且转换成其他单位,等等简单的计算)。
数字以美国格式表示 ,这意味着他们看起来像:
0,000,000.00
在德国 ,数字显示如下:
0.000.000,00
在VBA中,我实际上并不知道,哪个本地化版本的Excel正在使用(德语或英语)。
问题:是否有一种简单的方法将美国格式数字parsing为数据typesDouble,而不pipeExcel本地化,用户使用什么?
亲切的问候,Benedikt
一些笔记。 我没有更改区域设置来testing。
'http://msdn.microsoft.com/en-us/library/office/bb177675(v=office.12).aspx Debug.Print Application.International(xlCountryCode) 'Excel locale Debug.Print Application.International(xlCountrySetting) 'Windows locale sDecimal = Application.International(xlDecimalSeparator) sThousand = Application.International(xlThousandsSeparator) sNumber = "1,000,000.00" If sThousand <> "," Then If sDecimal <> "." Then sNumber = Replace(sNumber, ",", "") sNumber = Replace(sNumber, ".", sDecimal) End If End If Debug.Print sNumber
可能的解决scheme可能是:
cells(y, x) = Val(Replace(cells(y, x).Text, ",", ""))
Val总是使用。 作为十进制标记(例如CDbl使用文化设置,在德国Excel中testing)。