В настоящее время у меня есть поле со списком в Excel, которое назначено «Макросписок» на отдельном листе, в котором указано примерно 200 различных макросов. Иногда бывает полезно искать в раскрывающемся списке, чтобы получить макрос, который вы хотите выбрать (они в порядке чисел, поэтому это не так уж плохо), но я думаю, что это может быть лучше.Вызов макроса по шаблону в ячейке в Excel VBA
Большинство макросов структурированы таким образом «PA1111_Name» - я бы хотел, чтобы пользователь мог ввести всего 1111 в ячейку и нажать кнопку «запустить», которая направляется к указанному макросу. В SQL это было бы что-то вроде этого:
SELECT Macro FROM Module WHERE Macro Like '*' & Cell.A2 & '*'
Эти номера являются уникальными, так что я не обеспокоенный с потенциалом для захвата нескольких макросов.
Спасибо!
Вы ВСЕГДА хотите звонить ТОЛЬКО один макрос за раз или могут быть выведены еще несколько макросов, если их имена соответствуют критериям? –
, быстрый способ может заключаться в том, чтобы включить их в одну часть и использовать оператор case для запуска только того раздела кода, который вам нужен. Кроме того, вы можете использовать вызов по имени, если он в форме или Application.Run, если его внутренний amodule – user2140261
@KazJaw да, всегда будет только один макрос, вызываемый одновременно в этом экземпляре. – Dm3k1