我有一个 =SUMIF 公式,每次运行宏时都需要调整它。公式的第三部分,求和范围,每次需要移动一列。我将每月运行一次(每列代表 1 个月)
我得到了一些建议来使用LngCnt
效果很好的变量。但是现在我被迫在同一个工作表中再添加 3 个部分,这些部分都使用 =SUMIF 公式,每次运行宏时都需要调整,但总和范围不同(因此它们从不同的列中提取)
我尝试运行相同的LngCnt
变量,但很快遇到了保存计数的问题,因此第二部分的计数在计算之前从 2 开始。我可以调整起点,以便 +2 为我提供适当的列,但问题是我需要每个月都这样做。由于每次关闭工作簿时计数都会重置,因此当我在第 2 个月运行它时它不会正常运行。
这是我原帖的链接: Excel-Macro Help: LngCnt
这是代码的一部分(4个部分中的2个)
ActiveCell.FormulaR1C1 = "=SUMIF('Worksheet1'!R5C1:R159C1,RC1,'Worksheet1'!R5C" & 13 + LngCnt & ":R159C" & 13 + LngCnt & ")"
LngCnt = LngCnt + 1
Range("B13").Select
Selection.AutoFill Destination:=Range("B13:B17"), Type:=xlFillDefault
Range("B13:B17").Select
Range("B23").Select
ActiveCell.FormulaR1C1 = _
"=SUMIF('Worksheet2'!R3C6:R47C6,RC1,'Worksheet2'!R3C" & 16 + LngCnt & ":R47C" & 16 + LngCnt & ")"
LngCnt = LngCnt + 2
Range("B23").Select
Selection.AutoFill Destination:=Range("B23:B32"), Type:=xlFillDefault
Range("B23:B32").Select
更新
> Public LngCnt As Long
Sub Actual()
'
' Actual Macro
'
LngCount = ActiveWorkbook.Names("state").Value
ActiveCell.FormulaR1C1 = "=SUMIF('Workbook1'!R5C1:R159C1,RC1,'Workbook1'!R5C" & 13 + LngCnt & ":R159C" & 13 + LngCnt & ")"
LngCnt = LngCnt + 1
Range("B13").Select
Selection.AutoFill Destination:=Range("B13:B17"), Type:=xlFillDefault
Range("B13:B17").Select
ActiveWorkbook.Names("state").Value = LngCnt
End Sub