VBA excel,Sumif动态行
我正在尝试对我检查过的所有值求和。为了VBA excel,Sumif动态行,excel,vba,Excel,Vba,我正在尝试对我检查过的所有值求和。为了 ActiveCell.Formula = "=SUMIF(B1:B5,TRUE,A1:A5)" 但是,在以下情况下,它可以正常工作: ActiveCell.Formula = "=SUMIF(Range(cells(1,2),cells(lastrow,2)),TRUE,Range(cells(1,3),cells(lastrow,3))" 我得到编译错误。谁能帮帮我吗 你的公式语法不好。您正在excel公式中使用VBA引用(将细分点): 为了
ActiveCell.Formula = "=SUMIF(B1:B5,TRUE,A1:A5)"
但是,在以下情况下,它可以正常工作:
ActiveCell.Formula = "=SUMIF(Range(cells(1,2),cells(lastrow,2)),TRUE,Range(cells(1,3),cells(lastrow,3))"
我得到编译错误。谁能帮帮我吗
你的公式语法不好。您正在excel公式中使用VBA引用(将细分点):
为了使公式显示在单元格中,您将显示以下内容:
ActiveCell.Formula = "=SUMIF(B1:B" & lastrow & ",TRUE,A1:A" & lastrow & ")"
如果希望VBA执行此工作,并且只希望输出一个值:
ActiveCell.Value = Application.SUMIF(Range(Cells(1,2),Cells(lastrow,2)),"TRUE",Range(Cells(1,1),Cells(lastrow,1)))
与您的代码更改相关,您以前使用了第1(a)列作为您的总和范围,尽管您在代码中列出了第3(c)列。。。我在我的代码示例中使用了1,来自您的工作
SUMIF
函数。您的公式语法不好。您正在excel公式中使用VBA引用(将细分点):
为了使公式显示在单元格中,您将显示以下内容:
ActiveCell.Formula = "=SUMIF(B1:B" & lastrow & ",TRUE,A1:A" & lastrow & ")"
如果希望VBA执行此工作,并且只希望输出一个值:
ActiveCell.Value = Application.SUMIF(Range(Cells(1,2),Cells(lastrow,2)),"TRUE",Range(Cells(1,1),Cells(lastrow,1)))
与您的代码更改相关,您以前使用了第1(a)列作为您的总和范围,尽管您在代码中列出了第3(c)列。。。我在我的代码示例中使用了1,来自您的
SUMIF
函数。您在这里遇到了一些语法问题。。。您是希望公式显示在单元格中,还是希望单元格只包含值?您在这里遇到了一些语法问题。。。您是希望公式显示在单元格中,还是希望单元格仅具有值?Cyril感谢您的快速帮助!我会尝试一下,并更新你的结果!天哪!它工作得如此神奇!哈哈,非常感谢你的帮助!非常感谢西里尔,谢谢你的快速帮助!我会尝试一下,并更新你的结果!天哪!它工作得如此神奇!哈哈,非常感谢你的帮助!谢谢你,西里尔