在Excel VBA中解析货币值

时间:2016-06-27 18:50:36

标签: arrays vba excel-2010

好的......我想我的大脑终于在没有我的情况下去度假了。我从网站上提取了2个字段,我得到了这个字符串

vData = "Amount Owed [EXTRACT]$125.00[EXTRACT]

vData被声明为数组(字符串)。

我在vData上拆分[EXTRACT],我最终得到了两个字符串变量:

varA = "Amount Owed"
varB = "$125.00"

要解析varB,我使用

Dim varC as Currency
varC = val(varB)

我想在varC声明中使用If

If Val(VarC) <> 0 Then

我期待varC为125但是当我看varC时为0.我无法弄清楚为什么varC = 0而不是125。

1 个答案:

答案 0 :(得分:1)

使用CCur(varB)代替Val(varB)CCur转换为Currency类型,因此了解$和其他内容。

来自MS docs的说明:

  

...使用CCur时,根据计算机的区域设置,可以正确识别不同的小数分隔符,不同的千位分隔符和各种货币选项。

Valonly looking for straight numbers

  

Val函数停止在第一个字符处读取字符串,该字符串无法识别为数字的一部分。通常被视为数值的一部分的符号和字符(例如美元符号和逗号)无法识别。

相关问题