Функция суммы, обозначенная номером столбца 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 принимают параметр row и column, который аналогичен тому, что вы хотите для нотации 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))) 
  • Синтаксис подзапроса в Microsoft Query
  • Ошибка синтаксиса в подпрограмме «Тест»
  • Синтаксис: применение IF к диапазону ячеек в Excel
  • Параметры синтаксиса, создающие ошибки в макросе VBA для Excel
  • Правильный синтаксис для функции записи
  • Синтаксис функции excal VBA
  • Ссылка на именованные диапазоны в функции диапазона (Excel - VBA)
  • Функция «Не содержит» VBA
  • Синтаксическая ошибка Excel FROM
  • ThisMonth правильное использование и альтернативы, если они есть
  • И внутри ИЛИ внутри И в функции Excel?
  • Давайте будем гением компьютера.