gpt4 book ai didi

excel - 需要 excel 宏 - vba 的帮助

转载 作者:行者123 更新时间:2023-12-02 18:37:35 28 4
gpt4 key购买 nike

有一组我需要经常调整的SUMIF公式,我唯一需要调整的是它的第三部分。每次运行宏时,第三部分或总和范围列需要向右移动 1 列。

例如,我的公式可以是:=SUMIF($A$1:$A$10,$A15,!$C$1:$C$10)

  • 我希望能够运行一个宏来调整上述内容公式,这样它就不会从 Column C1:C10 添加,而是添加D1 列:10
  • 然后,下次运行宏时,公式将再次更改为 E 列,依此类推。

然后,该公式将被拖动到下面所有必需的行,唯一改变的是第二部分的行号。

有没有简单的方法可以实现这一点?

提前致谢!

这是我通过录制更改第三部分的宏而获得的 VB 代码,但到目前为止,每当我运行它时,它只会将其更改为该特定列。

ActiveCell.FormulaR1C1 = "=SUMIF('WorksheetA'!R5C1:R159C1,RC1,'WorksheetA'!RC13:R159C13)"

最佳答案

此代码将其运行次数存储在公共(public)变量LngCNt中。请注意,每次打开文件时计数都会设置为 0

LngCnt 变量用于递增公式,即

first run =SUMIF($A$1:$A$10,$A15,$C$1:$C$10)
second run =SUMIF($A$1:$A$10,$A15,$D$1:$D$10)
third run =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

关于excel - 需要 excel 宏 - vba 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057384/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com