У меня проблема с моим макросом. Код работает, когда я использую его в новом макросе (я создаю новый макрос в Book1 и вставляю туда код) и активирую макрос из этой Book1.
Ситуация усложняется, когда я решил использовать надстройку (новая группа на ленте под названием «MyOwnGroup» содержит одну кнопку «MyOwnButton»). И мне очень нужен твой совет здесь.
Итак, что я пытаюсь сделать и что происходит.
1) Как это работает без надстройки. Я выбираю диапазон в Book2, нажимаю ALT + F8 и просто активирую макрос Book1. Выбранный диапазон копируется в Book1. Внутри макроса Book1 - ThisWorkBook, а Book2 - ActiveWorkBook. Я имею в виду, что макрос имеет две разные ссылки: на ThisWorkBook (где код) и ActiveWorkbook, когда я копирую диапазон.
2) С надстройкой все по-другому, потому что теперь у меня есть 3 книги:
Book1 (мне нужно вставить выбранный диапазон из другой книги в эту)
Book2 с выбранным диапазоном
Workbook.xlam, который содержит код моего макроса
ThisWorkBook теперь Workbook.xlam, потому что он содержит код.
ActiveWorkbook - это книга с выбранным диапазоном.
Book1, куда я пытаюсь вставить значения, неизвестно для макроса, я не могу получить ссылку на него ...
Например,
Я открываю Book1 (и Workbook.xlam с макросом тоже открывается), затем открываю Book2. Я выбираю диапазон в Book2, активирую Book1 и нажимаю «MyOwnButton». Выбор из Book2 (из activebook) должен быть скопирован и вставлен в Book1 (без добавления в это ThisWorkBook), но я не могу получить ссылку на Book1, потому что ThisWorkBook - это Workbook.xlam, а ActiveWorkBook - это Book2. Они уже помолвлены.
Есть ли способ получить ссылку на Book1 в этом случае?
Application.Workbooks
и использовать ту, которая не совпадает с ActiveWorkbook
.