У меня есть книга Excel с 14 пользовательскими формами (каждая для ввода данных немного другого типа). Книга ведет себя странно - приложение Excel закрывается всякий раз, когда я закрываю форму. Я хотел бы скопировать все формы в другую рабочую книгу, чтобы я мог видеть, является ли это поврежденной книгой или проблема в моем коде. Но в VBE я могу копировать только одну форму за раз. Есть ли лучший способ скопировать несколько форм одновременно?
1 ответ
0
Лучшее, что я нашел для исправления файлов Excel с испорченными двоичными файлами макросов, - это бесплатный VBA Code Cleaner. Установка этого добавит опцию « Clean Project...
в меню VBE Tools.
- Откройте файл проблемы в Excel.
- В VBE выберите
Tools
->Clean Project...
- Выберите рабочую книгу, которую хотите очистить, и нажмите «ОК».
- Когда это будет сделано, перекомпилируйте макрос и сохраните.
Если это не сработает или вы действительно хотите переместить все модули из существующего файла Excel в новый файл, я также использую надстройку Source Tools. Если вы хотите, чтобы это было всегда доступно, сохраните его в %APPDATA%\Microsoft\Excel\XLSTART\
. SourceTools добавляет панель инструментов в VBE.
- Откройте файл проблемы в Excel и покажите VBE.
- В Project Explorer выберите имя проекта файла проблемы.
- Нажмите значок дискеты на панели инструментов SourceTools. (Это сохранит все модули в папке [filename] .src. То есть C:\Data\Test.xlsm теперь будет иметь папку C:\Data\Test.xlsm.src\.)
- Создайте новую книгу и щелкните значок открытой папки на панели инструментов SoruceTools.
- Выберите исходную папку, только что созданную.
- Вам нужно будет вручную скопировать любой код в ThisWorkbook и любые модули Sheet.