У меня есть макроситуация, которая немного сложна, поэтому я приложу все усилия, чтобы выложить ее. Он включает в себя взаимодействие между 3 различными файлами книги:
- первый содержит общие макросы анализа данных и форматирования
- второй, содержащий параметры, информацию о форматировании и более конкретные макросы для анализа данных такого типа
- третий файл, содержащий фактические данные, которые должны быть отформатированы
Рабочий процесс, который я представляю, выглядит следующим образом: общий лист загружается, и выбираются файл данных и параметров, и общие макросы запускаются для применения некоторого базового форматирования. Затем из файла параметров следует запустить открытый макрос с определенным именем и списком аргументов (например, Sub SpecialFormatting(wbk As Workbook)
), чтобы выполнить более конкретное форматирование файла данных, который не является частью общего листа.
Как мне указать, из какой рабочей книги запускать макрос? Я думаю, что где-то читал о Application.Run
, но я думаю, что он может передавать только аргументы ByVal
. Мне нужно было передать рабочую книгу ByRef
, чтобы иметь возможность ее редактировать.
Полагаю, для этой конкретной ситуации я мог бы передать строку с именем книги данных, но есть ли другой вариант?