Я использую макрос для создания индивидуальных отчетов для разных заинтересованных сторон в компании. Проблема в том, что файлы, сохраняемые макросом, больше, чем родительские файлы.
Пожалуйста, обратите внимание:
- Нет пустых строк, занимающих место.
- В файлах результатов нет соединений с внешними источниками.
- В любом файле (оригинале или результате) нет макроса.
- Я видел очень похожий пост пару лет назад, но на этот вопрос не было удовлетворительного ответа. Хотя кто-то намекнул на команду сохранения, это я использую:
ActiveWorkbook.SaveAs Имя файла: = "C: \ path \" & WR_Date & " Ежемесячный отчет " & Partner & ".xlsx"
( Размер файла Excel Macros )
Ниже приведено резюме шагов, выполняемых макросом.
- Макрос открывает «Мастер книгу»
- Удаляет все внешние соединения (OLAP)
- Удаляет вычисления в таблицах (копировать как простые значения)
- Удаляет листы таблицы сверки
- Сохраняет 4 файла (хозяин отдела, хозяин страны, хозяин территории, хозяин партнера).
- Использует эти основные файлы для удаления всех несущественных данных для заинтересованного лица.
- Обновите все сводные кэши (настройки всех сводок, чтобы в любом случае не сохранять память.
- Защищает все рабочие листы и рабочую книгу.
- Сохраняет файлы с правильными именами.
Согласно обсуждению в комментариях ниже, я вставляю свой макрос ниже. Функция «Заменить все» использовалась для удаления любой конфиденциальной информации, иногда результатом может быть запутанность, но этого должно быть достаточно для выявления проблемы.
Я почти уверен, что макрос вызывает это: если я повторяю шаги, выполняемые макросом, размер файлов будет намного меньше (5-15 Mo против 50-60 Mo).
Кроме того, отчеты по территории имеют нормальный размер. Файлы страны и подразделения больше, чем их основной файл, файлы партнеров также слишком велики.
EDIT:
После множества проверок я обнаружил, что начало ответа было связано с тем, как обновляются сводные таблицы. Мой код работал так:
ActiveWorkbook.RefreshAll
For Each pc In ActiveWorkbook.PivotCaches
pc.Refresh
Next pc
Теперь я удалил «Обновить все» перед обновлением сводного кэша и сохранил около 20 Мо для файла Отдела и Страны. Это все еще не вполне удовлетворительно, поскольку файлы деления и страны по размеру примерно соответствуют их родительскому или большему размеру, но эти отчеты необходимо опубликовать сегодня.
Я буду продолжать искать, но обязательно постараюсь представить вам полное разрешение к следующему месяцу!