我需要在Sum函数中按数字引用列(即列B = 2,C = 3,E = 5等)

我尝试了这段代码,但是没有用(COLN是从列表框索引中读取的列号)

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

我也更喜欢使用FormulaR1C1 cos这个函数需要应用于其余的行(即下一个单元格将是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)))

关于vba - 引用列号VBA的求和函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25103033/

10-10 06:58