【发布时间】:2019-07-23 22:10:54
【问题描述】:
在电子表格公式中,=VALUE("$100") 将计算为数值 100。然后我尝试通过 WorksheetFunction 对象在 VBA 中访问此函数,但它丢失了。
在 VBA 中,我尝试了转换函数 Val("$100"),但它返回 0。那么我该如何通过 VBA 来完成呢?
【问题讨论】:
-
In a spreadsheet formula, =VALUE("$100") will evaluate to the numeric value of 100- 你确定吗?在我的 excel 中它没有评估为 100。 imgur.com/a/cEb2k -
@newguy 我的也没有,但有趣的是,将“£100”和“€100”评估为 100 非常高兴
-
@danl 您是在将文字字符串传递给该函数,还是在引用货币格式的单元格。因为如果它是一个字符串,它将不起作用。它将与具有值但只是格式化的单元格引用一起使用。
-
@newguy both - 我有两个单元格,它们的字面意思是 =Value("£100") 和 =Value("€100"),还有两个单元格是 =Value(B2)例如,其中 B2 = '£100 或 '€100 。两者都运行良好,并且在使用 $ 而不是 £ 或 € 时两种方法都会引发错误
-
@Allen:
=VALUE("$100")是否有效取决于区域设置和 Excel 的语言版本。 Type Conversion Functions 的工作方式相同。因此,CDbl("$100")可能适用于您在 VBA 中的 Excel。