Разница между макросами и пользовательскими функциями VBA (Visual Basic for Applications) заключается в том, как они работают. 24
Макрос — это запрограммированная последовательность действий, которая автоматизирует некоторые функции приложения. 1 Макрос выполняет последовательность действий с объектами книги: ячейками, формулами и значениями, листами, диаграммами и т. д.. 2 Например, с помощью макроса можно импортировать данные из текстового файла, отформатировать их и сохранить в виде книги. 1
Пользовательская функция работает аналогично встроенным функциям Excel. 5 Она использует значения передаваемых ей аргументов, производит некоторые вычисления и возвращает результат в точку вызова, но не изменяет среды приложения. 5 Пользовательская функция работает только с теми значениями, которые были переданы ей как аргументы (исходные данные для расчёта). 2
Таким образом, макрос ориентирован на работу с объектами приложения, а пользовательская функция — на выполнение расчётов с определёнными значениями.