2015-01-14 5 views
0

Я создал макрос в одной из книг excel (abc.xlsm). И я хочу, чтобы только эта специальная книга отображала макросы во всплывающем окне макросов. Но когда вы просматриваете макросы из другой книги (xyz.xlsx), я могу просмотреть макросы, которые я создал в abc.xlsm. Я пробовал с закрытым ключевым словом перед макросом. Но это скроет видимость макросов во всех книгах, включая первую рабочую книгу (abc.xlsm) ЕСТЬ ЛИ ВЕРОЯТЬ, ЧТОБЫ ОГРАНИЧИТЬ МАКРОНУЮ ВИДИМОСТЬ ТОЛЬКО В РАБОЧЕМ БУКЕ, КОТОРЫЙ ЭТО СОЗДАН?Макро видимость в других листах excel

+0

его не шаблон. Его рабочая книга с поддержкой макросов. расширение шаблонов - это что-то вроде xlt –

+0

Диалог Run Macro запускается на уровне приложения, поэтому нет, вы не можете этого сделать. Что еще более важно, зачем вам это нужно? –

+0

Мои клиенты работают со многими листами Excel. Когда я отправляю свою макросопроводительную книгу, я хочу убедиться, что они не будут запускать код в неправильной книге. Поскольку это невозможно сделать, возможно, мне нужно сообщить об этом ясно. Поскольку процесс макросов необратим. :) –

ответ

1

Всплывающие макросы Excel перечислены все макросы, доступные для исполнения во всех книгах, открытых в текущем экземпляре Excel. Это означает, что единственным вариантом выполнения макроса только из конкретной книги является проверка того, является ли ActiveWorkbook рабочей книгой, с которой вы хотите выполнить макрос. Вы можете сделать это, указав эту строку вверху вашего подкатегория:

If Not ActiveWorkbook.Name = "abc.xlsm" Then Exit Sub