Вызов макроса excel в конкретном экземпляре excel в VBA

Я получаю сообщения об ошибках нехватки ресурсов в 32-разрядной версии Excel 365 (64-разрядная версия устраняет проблему, но наши ИТ-специалисты не допустят ее для такого количества пользователей, которые будут пользоваться этой книгой, поэтому я застрял на 32-разрядной версии) . У меня много оперативной памяти, поэтому я пытаюсь разделить две книги на разные экземпляры, чтобы выделить больше памяти (если это плохая стратегия, я был бы рад узнать, почему/альтернативы!).

В моей настройке есть две книги: рабочая книга A открывает рабочую книгу B, а рабочая книга B запускает тяжелый код, а затем передает данные обратно в рабочую книгу A в формате значения.

Экземпляр Excel 1: рабочая книга A

Экземпляр Excel 2: рабочая книга B

Я хочу, чтобы WkbA (открытый в экземпляре Excel 1) вызывал макрос для WrkB, открытого в экземпляре Excel 2. Я написал код ниже, чтобы попробовать это.

Dim WkbB As Object
Set WkbB = New Excel.Application
With WkbB
    .Visible = True
    .Workbooks.Open "P:\Root\WorkbookB.xlsm", True, False
End With

Application.Run "'WkbB.xlsm'!Main"

В строке «Конец с» код открывает WkbA и WrkB в двух отдельных экземплярах Excel, как я хочу.

Экземпляр Excel 1: WrkA

Экземпляр Excel 2: WrkB

Но в строке Application.Run Excel снова открывает WrkB в экземпляре 1.

Экземпляр Excel 1: WrkA и WrkB

Экземпляр Excel 2: WrkB

Вместо вызова основной подпрограммы в экземпляре 2 WorkbookB.

Когда вы говорите «ссылка», вы имеете в виду формулы Excel или код VBA? Формула WrkB не ссылается на WrkA, если вы можете привести примеры, я был бы рад попытаться удалить все ссылки и посмотреть, исправит ли это это.

St. Jimmy 29.05.2019 16:01
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
1
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Изменять

Application.Run "'WkbB.xlsm'!Main"

к

WrkB.Run "'WorkbookB.xlsm'!Main"

Вот оно! Спасибо! Люблю простые ответы :)

St. Jimmy 29.05.2019 16:13

Другие вопросы по теме