excel vba 递增范围

excel vba increment a range

For i = 10 to 21

    c = WorksheetFunction.SumIfs(Worksheets("Input").Range("J:J"), Worksheets("Input").Range("A:A"), "Sales ValueExternal", Worksheets("Input").Range("H:H"), "Europe")

Next i

在此代码中,我想将范围 ("J:J") 从 "J:J" 增加到 "U:U"。 我试过 Cells :

c = WorksheetFunction.SumIfs(Worksheets("Input").Cells(1, i), Worksheets("Input").Range("A:A"), "Sales ValueExternal", Worksheets("Input").Range("H:H"), "Europe")

我收到一个错误

我也用 Range(Chr(Asc("J")+1) 试过了。

不知道它是否解决了您的问题,但 VBA 中 For 循环的语法是:

Dim i as Integer
For i=0 To 20 Step 1

Next

保持语法不变的一种方法是将 Range("J:J") 更改为 Columns(i)

For i = 10 to 21

    c = WorksheetFunction.SumIfs(Worksheets("Input").Columns(i), Worksheets("Input").Range("A:A"), "Sales ValueExternal", Worksheets("Input").Range("H:H"), "Europe")

Next i