使用内部 SumIFS 查找循环
Find Loop with Inner SumIFS
这是我第一次在论坛发帖。我主要是 Excel VBA 的新手程序员。通常使用简单的代码来提高翻译信息的效率或准确性。
目前我面临一个项目,其中我的 SumIFS 公式存在错误。
数据库 sheet 是一个 sheet 批量加载 information.the objective 的 sumifs 是将每周求和到相应的名称和 ID。
数据库也与 MS Access 链接,因此它在每次更新时都保持动态。
这里是数据库中对 SUMIFS 至关重要的一些字段
ID - B 列
名称 - C 列
工作 - D 列
期间 - F 列
xx是要输入公式的单元格行。
LR 是最后一行(这也是主要 sheet 上句号所在的位置)
我需要将这个公式从 sheet 拖到本周。因此我也在查看自动填充属性。这解释了我试图按行锁定它们的原因
关注的代码如下。
With Sheets(CurrSheet).Range(UppLimit, BtmLimit) _
Set C = .Find("Actual", LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
xx = C.Offset(0, 2).Row
MsgBox xx
C.Offset(0, 2).Activate
activecell.formula= "SUMIFS(Database!$C:$C,Database!$F:$F,'2'!Range(LR,i),Database!$B:$B,'2'!Range(xx,1),Database!$C:$C,'2'!Range(xx,3),Database!$D:$D,'2'!Range($C)""
i = i + 1
Set C = .FindNext(C)
If C Is Nothing Then
GoTo DoneFinding
End If
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
DoneFinding:
End With
假设您的实际公式工作正常,这应该工作:
activecell.formula = "=SUMIFS(Database!$C:$C,Database!$F:$F,2!" & Cells(LR, i).Address & ",Database!$B:$B,2!" & Cells(xx, 1).Address & ",Database!$C:$C,2!" & Cells(xx, 3).Address & ",Database!$D:$D,2!" & Cells(1, 3).Address & ")"
这是我第一次在论坛发帖。我主要是 Excel VBA 的新手程序员。通常使用简单的代码来提高翻译信息的效率或准确性。
目前我面临一个项目,其中我的 SumIFS 公式存在错误。
数据库 sheet 是一个 sheet 批量加载 information.the objective 的 sumifs 是将每周求和到相应的名称和 ID。
数据库也与 MS Access 链接,因此它在每次更新时都保持动态。
这里是数据库中对 SUMIFS 至关重要的一些字段
ID - B 列 名称 - C 列 工作 - D 列 期间 - F 列
xx是要输入公式的单元格行。 LR 是最后一行(这也是主要 sheet 上句号所在的位置)
我需要将这个公式从 sheet 拖到本周。因此我也在查看自动填充属性。这解释了我试图按行锁定它们的原因
关注的代码如下。
With Sheets(CurrSheet).Range(UppLimit, BtmLimit) _
Set C = .Find("Actual", LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
xx = C.Offset(0, 2).Row
MsgBox xx
C.Offset(0, 2).Activate
activecell.formula= "SUMIFS(Database!$C:$C,Database!$F:$F,'2'!Range(LR,i),Database!$B:$B,'2'!Range(xx,1),Database!$C:$C,'2'!Range(xx,3),Database!$D:$D,'2'!Range($C)""
i = i + 1
Set C = .FindNext(C)
If C Is Nothing Then
GoTo DoneFinding
End If
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
DoneFinding:
End With
假设您的实际公式工作正常,这应该工作:
activecell.formula = "=SUMIFS(Database!$C:$C,Database!$F:$F,2!" & Cells(LR, i).Address & ",Database!$B:$B,2!" & Cells(xx, 1).Address & ",Database!$C:$C,2!" & Cells(xx, 3).Address & ",Database!$D:$D,2!" & Cells(1, 3).Address & ")"