Sum函数引用列号VBA

我需要通过Sum函数中的数字来引用列(即列B = 2,C = 3,E = 5等)

我试过这个代码,但它没有奏效(ColN是从列表框索引中读取的列号)

Range("M5") = WorksheetFunction.Sum(Range(ColN& "2" : ColN&"5"))) '(F2:F5) for example 

我还希望使用formulaR1C1,这个函数需要应用于其余的行(即下一个单元格将是F3:F6等的总和)

所有帮助解决这个问题,将不胜感激。

你可以这样做:

 Range("M5") = WorksheetFunction.Sum(Range(Cells(2, 6), Cells(5, 6))) 

Cells函数接受一个行和列参数,这个参数与R1C1表示法类似。 在这种情况下, 6表示第6列,即F列。 在你的情况下,你有colN作为列号,所以你可以这样做:

 'Dim colN As Long 'colN = 6 ' read from a listbox index in your case, for example Range("M5") = WorksheetFunction.Sum(Range(Cells(2, colN), Cells(5, colN)))