VBA SUMIF函数更改总和范围标准

VBA SUMIF函数更改总和范围标准,vba,excel,Vba,Excel,我是VBA新手。我试图使用一个循环来执行sumif函数。我希望函数在运行时更改其sum_范围标准 我首先尝试使用以下代码: While cls <= num_cols While rws <= num_rows Cells(rws, cls).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!D:D)" rws =

我是VBA新手。我试图使用一个循环来执行sumif函数。我希望函数在运行时更改其sum_范围标准

我首先尝试使用以下代码:

While cls <= num_cols
    While rws <= num_rows
        Cells(rws, cls).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!D:D)"
        rws = rws + 1
    Wend
    rws = 7
    cls = cls + 1
Wend

而cls可以使用for循环和
chr()
函数将整数转换为字母。
(cls+64+2)
允许您对“B”说
cls=2
,然后添加64得到66,这是“B”的ASCII字符。若要偏移,则如果
cls=2
将给您“D”,只需添加额外的2。(当然,您可以将其组合为
chr(cls+66)
,但我想演示一下为什么它是66。)

While cls
While rws <= num_rows
    Cells(rws, 2).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!D:D)"
    rws = rws + 1
Wend
rws = 7
While rws <= num_rows
    Cells(rws, 3).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!E:E)"
    rws = rws + 1
Wend
rws = 7
While rws <= num_rows
    Cells(rws, 4).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!F:F)"
    rws = rws + 1
Wend
rws = 7
While rws <= num_rows
    Cells(rws, 5).Value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & ",'BW YTD - Act&Plan'!G:G)"
    rws = rws + 1
Wend
rws = 7
While cls <= num_cols
    While rws <= num_rows
        Cells(rws, cls).value = "=SUMIF('BW YTD - Act&Plan'!$C:$C,A" & rws & _
              ",'BW YTD - Act&Plan'!" & Chr(cls + 64 + 2) & ":" & Chr(cls + 64 + 2) & ")"
        rws = rws + 1
    Wend
    rws = 7
Wend