Как настроить макросы по умолчанию для запуска из этой рабочей книги, а НЕ из всех открытых рабочих книг?

Как настроить макросы по умолчанию для запуска из этой рабочей книги, а НЕ из всех открытых рабочих книг?

У нас есть рабочая книга с поддержкой макросов (версия 2010), которую используют многие люди. У некоторых из этих людей есть макросы в рабочей книге Personal.xlsb. У нас есть ситуация, когда макрос в общей рабочей книге называется так же, как макрос в личных рабочих книгах, но выполняет немного другие действия.

Чтобы избежать запуска неправильного макроса, я хотел бы настроить общую книгу по умолчанию для запуска макросов из этой книги вместо всех открытых книг. Я ожидаю поместить что-то в WorkBook_Open(), но что?

Есть ли способ изменить параметр по умолчанию для макросов в: All Open Workbooksна This Workbook?

решение1

Можете ли вы просто переименовать макрос в общей рабочей книге и заменить экземпляры этого макроса в этой конкретной рабочей книге?

решение2

Если я переименую модули, содержащие подпрограммы, я смогу точно указать, какую подпрограмму вызывать.

Пример:
В Modlue1, переименованном в LocalModule1, у меня есть:

Sub TestDupe()
    Call LocalModule1.DuplicateName
End Sub

Public Sub DuplicateName()
    ActiveSheet.UsedRange
    MsgBox ("new mod 1")
End Sub

В Module2, переименованном в LocalModule2, у меня есть

Public Sub DuplicateName()
      ActiveSheet.UsedRange
      MsgBox ("mod 2")
End Sub

Изменив спецификатор в вызове с LocalModule1на LocalModule2, я теперь могу указать, какую одноименную подпрограмму следует выполнить.

Связанный контент