使用德语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)。