Распространенный способ выполнить макрос на любой файл Excel (можно, следовательно, добавить некоторые проверки согласованности правил в ваш код) заключается в следующем:
1) Добавьте код, который вы хотите, чтобы всегда выполнять в ThisWorkbook_Open
события основного листа. Вы можете получить доступ к событию из VBE, нажав «Эта книга» в дереве модулей и выбрав событие open. Это идея:
Private Sub ThisWorkbook_Open()
ExtractDate
RemoveBlankSpaces
RemoveOlderDates
'etc.
End Sub
Не забудьте добавить проверку возможной данных, при желании (например, если имя файла «это», а затем выполнить)
2) Сохраните эту книгу как «.xlam
» , укажите имя и местоположение, которое вы предпочитаете (он просто создаст копию, вы не перезапишете оригинальную основную рабочую книгу)
3) Откройте новый файл Excel, затем перейдите в меню Файл/Параметры/Надстройка, следовательно, Browse (мой Excel на французском языке, имена могут быть немного разными, но это логика)
4) В окне просмотра, обратите внимание на файл .xlam
и добавить его в список проверяемых надстроек
С этого момента, каждый раз, когда вы будете открывать Excel файл макросов, которые вызываются в ThisWorkbook_Open
случае будет выполнен ваш .xlam-файл (сгенерированный из вашей основной книги).
Важное примечание
Если в макросе есть ссылки, такие как «ThisWorkbook.Range("A1")
», не забудьте заменить их в мастер-файл с «ActiveWorbook
» перед тем, чтобы сохранить его как .xlam
, в противном случае вы будете запустите макрос надстройки, а не в текущей открытой книге. Если вы не хотите прикасаться к исходному файлу, вы всегда можете отредактировать этот код в самом надзоре, который будет получать доступ к нему из любого экземпляра Excel в VBE (дерево будет всегда присутствовать, если надстройка активирована).
Одним из хороших способов решения этой проблемы является превращение вашего файла master excel в надстройку. Вот запись, которую я сделал по этому поводу в другом сообщении SO: http://stackoverflow.com/questions/23135211/how-to-make-a-reusable-button-from-a-macro –
Привет, спасибо, ответ. Если бы вы могли случайно уточнить, добавлю ли я коды, которые вы разместили на другой ссылке, к моему файлу master excel, в котором есть макросы, которые я хочу использовать? –