Функция суммы, обозначенная номером столбца 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 и т. Д.),
- Синтаксис Vlookup и проблемы с вводом пользователя
- Ошибки синтаксиса / цикла
- VBA - ссылка на переменную в цикле на диапазон ячеек на другом листе
- Синтаксическая ошибка на токенах (-ах), неправильная конструкция (-ы)
- Функция Excel IF всегда возвращает первый результат
Вся помощь в решении проблемы будет оценена по достоинству.
- Синтаксис для объединения функций COUNTIF и MID в Excel
- Синтаксическая ошибка (отсутствующий оператор) при ссылке на Excel, запрос выполняется нормально
- Как я могу получить столбец процентов, когда я собираю большой набор данных в SPSS?
- Синтаксис VBA, содержащий последнюю занятую ячейку в столбце
- Попытка найти следующий экземпляр точной строки в ячейках
- vba массивы манипуляции жесткий синтаксис кодирования
- Форматирование нескольких диапазонов в VBA Excel с помощью одного кода строки
- Перемещение занятых строк выше Бланков с синтаксической ошибкой кода VBA
Вы можете сделать это следующим образом:
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)))