我需要经常调整一组SUMIF
个公式&我唯一需要调整的是它的第3部分。每次运行宏时,第3部分或总和范围列需要向右移动1列。
例如,我的公式可以是:
=SUMIF($A$1:$A$10,$A15,!$C$1:$C$10)
Column C1:C10
,而是添加
Column D1:10
。然后将此公式拖到下面所有必要的行,唯一改变的是第二部分的行#。
有一种简单的方法可以实现这一目标吗?
提前致谢!
这是我通过录制更改第3部分的宏来获得的VB代码,但是到目前为止,它只会在我运行时将其更改为该特定列。
ActiveCell.FormulaR1C1 = "=SUMIF('WorksheetA'!R5C1:R159C1,RC1,'WorksheetA'!RC13:R159C13)"
答案 0 :(得分:3)
此代码存储在公共变量LngCNt
中运行的次数。请注意,每次打开文件时计数都将设置为0
LngCnt
变量用于递增公式,即
首次运行= SUMIF($ A $ 1:$ A $ 10,$ A15,$ C $ 1:$ C $ 10)
第二轮= SUMIF($ A $ 1:$ A $ 10,$ A15,$ D $ 1:$ D $ 10)
第三轮= SUMIF($ A $ 1:$ A $ 10,$ A15,$ E $ 1:$ E $ 10)
Public LngCnt As Long
Sub Macro2()
ActiveCell.FormulaR1C1 = "=SUMIF(R1C1:R10C1,R[4]C1,R1C" & 3 + LngCnt & ":R10C" & 3 + LngCnt & ")"
LngCnt = LngCnt + 1
End Sub