我有一张复杂数字的Excel表格。 所以在单元格(1,1)中有例如: 40318,5705419227 + 153347,941302982i
如果我想获得数字的绝对值,我可以手动插入= IMABS(A1)
,这样可以得到正确的结果: 158559,6993
但是如果我想用vba计算语句:
string1 = WorksheetFunction.ImAbs(Cells(1, 1).value)
它给了我:431363308773779
任何人都可以解释一下吗?
答案 0 :(得分:0)
如果40318,5705419227+153347,941302982i
的值位于单元格“A1”中,则对它的正确引用将为:
String1 = WorksheetFunction.ImAbs(Cells(1, 1).Value2)
答案 1 :(得分:0)
显然,在VBA中,该函数需要US十进制符号。你的价值就是使用逗号。以下似乎有效:
WorksheetFunction.ImAbs (Replace(Cells(1, 1), ",", "."))
编辑: @pnuts在上面的评论中也提到了这一点。