1

У меня есть книга Excel с 14 пользовательскими формами (каждая для ввода данных немного другого типа). Книга ведет себя странно - приложение Excel закрывается всякий раз, когда я закрываю форму. Я хотел бы скопировать все формы в другую рабочую книгу, чтобы я мог видеть, является ли это поврежденной книгой или проблема в моем коде. Но в VBE я могу копировать только одну форму за раз. Есть ли лучший способ скопировать несколько форм одновременно?

1 ответ1

0

Лучшее, что я нашел для исправления файлов Excel с испорченными двоичными файлами макросов, - это бесплатный VBA Code Cleaner. Установка этого добавит опцию « Clean Project... в меню VBE Tools.

  1. Откройте файл проблемы в Excel.
  2. В VBE выберите Tools -> Clean Project...
  3. Выберите рабочую книгу, которую хотите очистить, и нажмите «ОК».
  4. Когда это будет сделано, перекомпилируйте макрос и сохраните.

Если это не сработает или вы действительно хотите переместить все модули из существующего файла Excel в новый файл, я также использую надстройку Source Tools. Если вы хотите, чтобы это было всегда доступно, сохраните его в %APPDATA%\Microsoft\Excel\XLSTART\ . SourceTools добавляет панель инструментов в VBE.

  1. Откройте файл проблемы в Excel и покажите VBE.
  2. В Project Explorer выберите имя проекта файла проблемы.
  3. Нажмите значок дискеты на панели инструментов SourceTools. (Это сохранит все модули в папке [filename] .src. То есть C:\Data\Test.xlsm теперь будет иметь папку C:\Data\Test.xlsm.src\.)
  4. Создайте новую книгу и щелкните значок открытой папки на панели инструментов SoruceTools.
  5. Выберите исходную папку, только что созданную.
  6. Вам нужно будет вручную скопировать любой код в ThisWorkbook и любые модули Sheet.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .