这是我第一次发帖到论坛。我一直是一个主要用于Excel VBA的新手程序员。通常是简单的代码,以提高翻译信息的效率或准确性。
目前,我面临的一个项目是我的SumIFS公式出错。
数据库工作表是一个包含大量信息的工作表。总和的目标是每周将相应的名称和ID相加。
数据库也与MS Access链接,因此每次更新时它都保持动态。
这里是数据库中的一些对SUMIFS
至关重要的字段ID - B栏 名称 - C栏 工作 - D栏 期间 - F栏
xx是要输入公式的单元格行。 LR是最后一行(这是在主页上放置句号的地方)
我需要将此公式在整个工作表中拖动到当前周。因此我也在考虑自动填充属性。这解释了我试图用行锁定它们
以下是关注的代码。
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$1)""
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
答案 0 :(得分:0)
假设您的实际公式正常,这应该有效:
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 & ")"