首页 > 解决方案 > 带循环的 Vba sumifs

问题描述

我正在尝试做一个宏,它根据几个条件执行 sumif,其中一个条件由每行的第一个单元格的值设置。

目前我有以下代码:

For i = 20 To lngLastRow
    ws.Cells(i, 2).Value = Application.WorksheetFunction.SumIfs(RegJan, EquipaBd, EquipaForm, AgenteBd, AgenteForm, MarcasBD, ws.Cells(i, 1).Value)
    Next

我得到的错误在这一行中(我想它是指使用的最后一个条件(ws.Cells(i,1).Value)。我运行这个宏,我声明了所有变量,对于每一行我有以下代码

ws.Cells(20, 2).Value = Application.WorksheetFunction.SumIfs(RegJan, 
EquipaBd, EquipaForm, AgenteBd, AgenteForm, MarcasBD, MarcasForm1)

我像这样声明了所有这些变量:

Set MarcasForm1 = Sheets("Zoom").Range("A20")

但是我的工作表在每行的第一个单元格中有 200 多行不同的名称,我想用一个循环来解决这个问题,但我被卡住了。谁能帮我?

提前致谢

标签: excelvba

解决方案


对不起大家花费的时间,问题很简单,我声明了一个错误的变量,因为最后一个单元格值需要声明为字符串,它是 int。不管怎么说,多谢拉


推荐阅读