在电子表格公式中,=VALUE("$100")
将计算为100的数值。然后我尝试通过WorksheetFunction对象在VBA中访问此函数,但它不存在。
在VBA中,我尝试了转换函数Val("$100")
,但是返回0.那么如何通过VBA实现此目的呢?
答案 0 :(得分:0)
Val()只有在字符串是我害怕的所有数字时才真正起作用 - 货币符号会导致问题。
如果您总是在字符串中使用相同的货币符号,则可能值得使用
之类的内容// this need to be in appdelegate didFinishLaunchingWithOptions
[[UITabBar appearance] setUnselectedItemTintColor:[UIColor blackColor]];
通过用“”替换它来取出$ - 否则,如果你的字符串并不总是可预测的,那么下面的问题可能会有所帮助:
答案 1 :(得分:0)
请参阅https://docs.microsoft.com/en-us/office/vba/api/excel.worksheetfunction.numbervalue
上面使用示例,它将返回-1234.56的值:
MsgBox WorksheetFunction.NumberValue("-$1,234.56", ".", ",")
请注意,如果结果为非数字,则将引发错误。例如(交换逗号分组和十进制字符参数在这种情况下无效):
MsgBox WorksheetFunction.NumberValue("-$1,234.56", ".", ",")
我不明白为什么上面的链接没有任何版本信息。它的当前日期为2019-05-23-不知道这是因为它是新的还是最近更新的。