尝试使用VBA插入SUMIF函数时出错

时间:2019-01-17 17:13:22

标签: excel vba

我正在尝试使用VBA将SUMIF公式插入单元格中。 VBA不允许我的代码按原样运行。任何建议表示赞赏。

ws和na在代码中的前面已正确设置。如果我只是简单地将SUMIF公式更改为随机值“ x”,它将显示在所需的单元格中。我试图插入单元格的SUMIF公式中发生了错误。

ws.Range("B" & na.Row + 2).Value = "=SUMIF(OFFSET(B1,,,ROW()-1,1),"<>#N/A"))"

此公式的目的是求和一列数字,而忽略任何包含“#N / A”的单元格。

3 个答案:

答案 0 :(得分:1)

在公式中使用引号时,您需要“加倍”:

ws.Range("B" & na.Row + 2).Formula = "=SUMIF(OFFSET(B1,,,ROW()-1,1),""<>#N/A"")"

答案 1 :(得分:1)

您可以使用AGGREGATE并删除易失的偏移量

ws.Range("B" & na.Row + 2).Formula= "=AGGREGATE(9,6,B1:B" & na.Row + 1 & ")"

答案 2 :(得分:1)

尝试使用“ Chr(34)”:

ws.Range("B" & na.Row + 2).Formula = "=SUMIF(OFFSET(B1,,,ROW()-1,1)," & Chr(34) & "<>#N/A" & Chr(34) & ")"

编辑:误写的引号已删除