Страницы: 1
RSS
Использование имени книги из ячейки листа активной книги для активации макроса другой открытой не активной книги
 
Добрый день.
Как есть.
Есть две книги. Открываем книгу "цвет22", открываем книгу "цвет22_123". При открытии последней книги в появившемся сообщении выбираем "ДА". При этом активируется макрос из первой книги.
Для активации макроса из первой книги используется:
Код
Call Application.Run("'цвет22.xlsb'!Module1.макрос1")
Всё работает прекрасно.
Но: периодически названия обоих книг меняется. После переименования приходится руками перепрописывать названия книг в макросах.
Как хочется.
Хочется чтобы названия книг брались из ячеек листов книг в которых прописаны их названия (названия меняются автоматически при изменении имён книг-формулы).
Пытался использовать конструкцию:
Код
a = Sheets("Лист1").Cells(1, 3).Value
b = a & "'!Module1.макрос1"""
Call Application.Run("'b")
(эта конструкция сейчас в макросе закомментирована) но выдаёт ошибку:
Код
Run-time error '1004', Application-defiened or object-defined error
Ошибка или в способе каким я пытаюсь реализовать свою задумку или в синтаксисе. Честно искал, но понять мне не дано.
Прошу помощи.
Изменено: mamalot - 12.04.2019 09:04:34
 
Как минимум так:
Код
b = "'" & a & "'!Module1.макрос1"
Application.Run b

P.S. файлы не смотрел
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо!
Самый классный сайт :D !
Код
Application.Run (b)
Страницы: 1
Наверх