Я хотел бы знать, есть ли способ вызвать функцию или метод VBA из другого указанного модуля рабочей книги, поскольку это возможно для конкретного рабочего листа без использования Application.Run
Для рабочего листа я могу позвонить, например:
ActiveSheet.MyTest()
если MyTest определен в модуле листа
Но я бы хотел вызвать функцию, которая определена в модуле
Я пробовал:
ActiveWorkbook.MyTestModule()
ActiveWorkbook.VBProject.VBComponents("MyModule").MyTestModule(myArg)
которые не работают, генерируя ошибку. Объект не поддерживает этот метод.
Я мог бы назвать
Application.Run(ActiveWorkbook.name & "!MyTestModule", myArg)
Но я не уверен в обработке ошибок Application.Run, и я бы нашел, что cleaner запускает непосредственно метод