WorksheetFunction.Sum(rng)返回零与正确的总和

时间:2018-06-20 13:58:09

标签: excel vba excel-vba

此消息框返回“ 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

1 个答案:

答案 0 :(得分:2)

SUM会忽略诸如文本之类的非数字值,但是您可以尝试将文本转换为数字:

lAnswer = wbFrom.Sheets("Sheet0").Evaluate("SUM(--P9:P50000)")

非数字文本值的可能解决方法:

lAnswer = wbFrom.Sheets("Sheet0").Evaluate("sum(if(iserr(--P9:P50000),0,--P9:P50000))")