在德语Excel中解析美国数字格式

Ben*_*ikt 4 excel vba localization numbers excel-vba

我正在创建一个Excel文件,帮助人们自动处理数据.在此表中,有一些数字必须被解析(并转换为其他单位等.简单计算).

这些数字采用美国格式,这意味着它们看起来像:

0,000,000.00
Run Code Online (Sandbox Code Playgroud)

在德国,数字显示如下:

0.000.000,00
Run Code Online (Sandbox Code Playgroud)

在VBA中,我实际上不知道,Excel的哪个本地化版本正在使用(德语或英语).

问题: 是否有一种简单的方法可以将美国格式数字解析为数据类型Double,而不管用户使用的Excel本地化?

亲切的问候,Benedikt

Fio*_*ala 5

一些笔记.我没有改变语言环境来测试.

'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
Run Code Online (Sandbox Code Playgroud)