【问题标题】:VBA - SumIf with multiple criteriaVBA - 具有多个条件的 SumIf
【发布时间】:2017-03-20 15:18:13
【问题描述】:

我无法弄清楚如何在 VBA 中为 SumIf 语句设置多个条件。这就是我现在使用的,只有一个标准来设置名为 Count_1 的变量的值。

Count_1 = Application.SumIf(Range("K84:K" & LastRow), "B*", Range("G84:G" & LastRow))

我需要添加另一个标准。除了K列的值需要以“B”开头外,L列的值也需要为80。

我知道这可以在 Excel 公式中使用 SumIfs 来完成,但我需要它在 VBA 中。

【问题讨论】:

  • sumifs 应该有帮助
  • SUMIFS 存在于 vba 中,Application.WorkSheetFunction.Sumifs()
  • 我试过用这个,但它不起作用。 Count_1 = Application.SumIfs(Range("K84:K" & LastRow), "B*", Range("L84:L" & LastRow), "80", Range("G84:G" & LastRow))
  • 试试不带引号:80 而不是 "80"
  • 我仍然遇到同样的错误。

标签: vba excel


【解决方案1】:

使用

Application.Sumifs(SumRange, CriteriaRange1, Criteria1, CriteriaRange2, Criteria2,...)

【讨论】:

  • 我试过了,但它不起作用。我收到类型不匹配错误。 Count_1 = Application.SumIfs(Range("K84:K" & LastRow), "B*", Range("L84:L" & LastRow), "80", Range("G84:G" & LastRow))
  • 您是否将B_gold 标注为数字(IntegerLongLongLongSingleDouble)? LastRow 的值是多少?如果您的工作表太大(超过 32 000 行),请确保您没有 LastRowInteger。您似乎对公式本身没有错误。
  • 对不起,您有一个错误:如果您使用 sumifs 通过公式上的条件范围字段更改条件字段...在您的第一条评论中没有注意到...
  • Range -> Range -> Criteria -> Range -> Criteria ->...
  • @Robby 从末尾删除列 G 引用:Count_1 = Application.SumIfs(Range("G84:G" & LastRow), Range("K84:K" & LastRow), "B*", Range("L84:L" & LastRow), "80")
猜你喜欢
  • 2015-12-23
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
相关资源
最近更新 更多