Импорт макроса «ThisWorkbook» в другую книгу

Мне нужен код VBA для импорта процедуры в область ThisWorkbook в другой книге.

У меня есть код для импорта модуля в другую книгу, но как импортировать эту процедуру в область ThisWorkbook а не в область модуля?

 Sub TransferModule() Const modul As String = "Misc" Const tempfile As String = "/Users/Roman/Desktop/temp.bas" Dim WBK As Workbook On Error Resume Next Set WBK = Workbooks.Add ThisWorkbook.VBProject.VBComponents(modul).Export tempfile WBK.VBProject.VBComponents.Import tempfile Kill tempfile End Sub 

Это берет модуль Misc из «This» temp.bas , экспортирует его на temp.bas а затем импортирует в другую книгу. Однако мне нужно импортировать его не в модуль, а в область ThisWorkbook . Это событие Private Sub Workbook_BeforeClose .

Вместо создания новой книги с:

 Set WBK = Workbooks.Add 

рассмотрите возможность использования чего-то типа:

 Sub lkjhgf() ThisWorkbook.SaveCopyAs ("C:\Users\Garys\Desktop\new.xlsm") End Sub 

В недавно созданной книге будет весь код ThisWorkbook который имеет оригинал.

(Конечно, у вас может быть больше очистки, чтобы удалить вещи, которые вам не нужны.)

EDIT # 1:

См. Ответ Vogelaar:

Загрузка подпрограммы в «ThisWorkbook» с помощью VBA

  • Запись в Excel ActiveX TextBox C #
  • Как восстановить редактор VBA до его первоначальных настроек?
  • Макрос VBE, который создает ярлыки, которые включают автора связанного файла в качестве свойства
  • Использовать Python для вставки макросов в таблицы
  • Как включить изменяющуюся переменную в текстовый Msgbox в VBA?
  • ThisWorkbook.ChangeFileAccess xlReadWrite создает несколько VBAP-объектов для книги в окне VBA
  • События Excel игнорируются / перестают быть улавливаемыми, т.е. Worksheet_Change не вводится при изменении
  • Защитите проект VBA с помощью надстройки Excel
  • * .xlam и отсутствующие ссылки в новом проекте VBA / новом экземпляре Excel с включенной надстройкой
  • Изменение панели CodePane в Active Module (VBE)
  • OLE Automation и взаимодействие с другой VBE / VBA IDE
  • Interesting Posts

    Круглый справочник Excel с шестью простыми формулами

    Копировать код VBA с одного рабочего листа на другой с помощью кода VBA

    Указание индекса с относительными значениями

    Excel находит дубликаты данных и удаляет самые старые

    Использование Excel для возврата уникальных значений для идентификационных значений

    Могу ли я скопировать лист в новую книгу, если он скрыт

    Excel VBA с использованием SQL Datediff

    SSIS: Усечение назначения Excel

    Найти соответствующую дату в последней ячейке в столбце, который имеет значение двух из трех доступных опций

    Вычисление выигрыша% Snapshot

    Изменения формата даты Excel в наборе данных?

    SELECT Query работает в студии управления, но не работает в VBA

    Почувствуйте себя странно. Скрытие ActiveX combobox в некотором имени не работает

    Excel условное форматирование соседних ячеек из выпадающего списка

    Проблема с кодом VBA при переключении с Windows на iMac

    Давайте будем гением компьютера.