此消息框返回“ 0”,而不是该列的正确求和值,并且没有任何内容粘贴到Sheet1 / D16中。
我在哪里错了?我试图对一个工作簿中的一列求和,并将该求和列的值粘贴到另一个工作簿中的单元格中。
代码:
Dim rng3 As Range
Dim lAnswer As Variant
Set rng3 = wbFrom.Sheets("Sheet0").Range("P9:P50000")
lAnswer = Application.WorksheetFunction.Sum(rng3)
'MsgBox lAnswer
wbTo.Sheets("Sheet1").Range("D16").Value = lAnswer
样本数据,其中包含空格,如下所示:
Header Name
3545.0
24.95
0.0
答案 0 :(得分:2)
SUM
会忽略诸如文本之类的非数字值,但是您可以尝试将文本转换为数字:
lAnswer = wbFrom.Sheets("Sheet0").Evaluate("SUM(--P9:P50000)")
非数字文本值的可能解决方法:
lAnswer = wbFrom.Sheets("Sheet0").Evaluate("sum(if(iserr(--P9:P50000),0,--P9:P50000))")