Вы можете сделать и то и другое, но, вероятно, проще сделать суммирование с помощью функции SumIfs или сводной таблицы. Однако, если вы настроены на VBA, вот какой-то код:
Sub SumNumber()
'Column F is data to sum
'Column B is year
'Column C is month
MsgBox Application.WorksheetFunction.SumIfs(Columns("F"), Columns("B"), "2018", Columns("C"), "April")
End Sub
Если вы хотите суммировать несколько столбцов, просто продублируйте суммы с другим начальным диапазоном (не столбцом F).
Пример: Sumifs (Columns ("F) ... + SumIfs (Columns (" E ") ...
")
(Обратите внимание, что это практически идентично созданию формулы в ячейке)
Вот файл , в котором есть некоторые примеры данных с этим макросом. У этого также есть сводная таблица, которая, вероятно, была бы намного лучшим выбором.
Отвечая на другой вопрос, вы можете перейти по ссылке с другого листа. Вам просто нужно использовать ссылку на путь к файлу, однако это может привести к поломке при переименовании каталогов, изменении профилей безопасности и т. Д.