Как создать макрос и запустить несколько макросов последовательно? - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть книга Excel с пятью разными записанными макросами на пяти разных листах. Можно ли создать еще один макрос и последовательно запустить эти пять макросов?

Сложность в том, что макросы не указаны для каждого листа. Мне приходится каждый раз запускать эти макросы вручную.

Любые мысли приветствуются! Спасибо.

1 Ответ

0 голосов
/ 13 ноября 2018

Как объяснено в , этот вопрос : многопоточность в VBA не может быть выполнена изначально.

Не может быть сделано изначально с VBA. VBA построен в однопоточной квартире. Единственный способ получить несколько потоков - это создать DLL в чем-то отличном от VBA, имеющем интерфейс COM, и вызывать его из VBA.

Таким образом, запуск всех 5 макросов одновременно потребует много работы.

Но OP, упомянутый в комментарии, будет одним из вариантов последовательного запуска всех 5 макросов.

Что вы можете сделать, это:

  1. Добавить новый модуль

Add a new module

  1. Добавить новый публичный саб в этом модуле

add a new sub

  1. Ссылка на все имена макросов в этом подпункте

Пример того, как может выглядеть этот макрос:

Public Sub allMacros()
    macroName1
    macroName2
    macroName3
    Sheet1.macroNameNotUnique
    Sheet2.macroNameNotUnique
End Sub

Теперь запуск этого макроса будет запускать все указанные макросы последовательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...