#excel #vba #combobox
Вопрос:
У меня есть поле с заголовками макросов, связанное с ячейкой B1, и я хочу запустить выбранный макрос по его названию в связанной ячейке B1
Я пробовал этот код, но он выдает ошибку
Application.Run Range("B1").Value
Это сообщение об ошибке, которое я получаю
Ошибка времени выполнения «1004»
Нельзя использовать макрос «Материальные покупки». Макрос может быть недоступен в этой книге или все макросы могут быть отключены
Я могу нормально запустить макрос, но я хочу перечислить все заголовки макросов в выпадающем списке и в зависимости от того, какой из них я выберу, вызванный кнопкой
Есть какие-нибудь зацепки?
Комментарии:
1. «это выдает мне ошибку», какую конкретно ошибку? Мы не можем догадаться… Видишь rondebruin.nl/win/s9/win001.htm для получения хорошего обзора использования приложения.Запустите
2. хорошо, конечно, я введу ошибку, как только доберусь до своего рабочего офиса примерно через 8 часов
3. Отсутствует имя рабочей книги в ячейке B1? … Попробуйте сделать это
Application.Run "WorkbbokName.xlsm!MaterialsPurchases"
, если это работает, а затем измените значение в выпадающем списке соответствующим образом, чтобы отразить его в ячейке.4. Ага, вы имеете в виду, что я должен ввести имя книги, используя Thisworkbook.name amp; Диапазон(«B1»).Значение ?
5. Да .. Добавьте имя книги с расширением xlsm или xlsb amp; «!» перед именем процедуры … и если макрос находится в другой открытой книге, то вам придется заключать имя файла в одинарные кавычки, как приложение. Запустите «‘workbook.xlsb’!Имя процедуры»