【问题标题】:Fill columns with formulas in a loop在循环中用公式填充列
【发布时间】:2022-09-23 18:05:54
【问题描述】:

如何使用将使用来自同一列但 VBA 中不同行的值的公式填充整行(或给定列)?那就是我想用公式填充一个范围,比如说从列 B 到列 D 在行 6=SUM(B4:B5), =SUM(C4:C5), =SUM(D4:D5) 因为我的列数会变化,所以我不能让它静态 如果它是按行而不是按列,我会这样做:

For row = 1 To 10
   ActiveSheet.Range(\"B\" & row).Formula =  \"=SUM(C\" & row & \"D\" & row & \")\"
Next row

但我不知道如何通过更改列(字母)来做到这一点。 我正在考虑制作一个充满字母的数组

myColumns = Array(\"A\", \"B\", ..., \"ZZ\")

然后循环遍历它,但是写这么长的数组可能有点可悲:v

    标签: excel vba


    【解决方案1】:

    尝试如下:

    Sub fill_formula()
    
    For col = 2 To 10
        address_start = ActiveSheet.Cells(4, col).Address
        address_end = ActiveSheet.Cells(5, col).Address
        
        ActiveSheet.Cells(6, col).Formula = "=SUM(" & address_start & ":" & address_end & ")"
    Next col
    
    End Sub
    

    例如。这将用=SUM($B$4:$B$5) 填充B6,用=SUM($C$4:$C$5) 填充C6 等到第十列(即J)。

    【讨论】:

      猜你喜欢
      • 2023-04-08
      • 2016-02-23
      • 1970-01-01
      • 2023-01-13
      • 2021-02-11
      • 2018-07-04
      • 2022-11-03
      • 2019-06-12
      • 1970-01-01
      相关资源
      最近更新 更多