VBA - Объединение книг Excel - Возможно, недостаточно памяти - PullRequest
0 голосов
/ 30 апреля 2018

Я выполнил поиск в Google и просмотрел stackoverflow, но не обнаружил чего-то, что решает нижеприведенное.

В основном у меня есть около 46 рабочих книг и рабочих листов, которые мне нужно объединить в одну для целей анализа другим программным обеспечением.

wbBank.Sheets(c).Copy Before:=wbStructure.Worksheets(wbStructure.Sheets.Count)

Для некоторых из этих рабочих листов в 'wbStructure' мне нужно сделать функцию копирования (для валюты ISO или страны), что означает, что из 46 соответствующих рабочих листов у меня получается около 1300 рабочих листов для этой конкретной рабочей книги, которая заканчивается потребляет слишком много памяти.

Для каждого листа я также делаю следующее:

  • Вставить строки / столбцы в зависимости от установленных параметров
  • пройти через все строки и столбцы и вставить описания

Функциональность всего этого раньше работала корректно, однако мне пришлось недавно изменить функциональность, чтобы сохранить тот же объект Excel, а не открывать новый экземпляр Excel из-за проблем совместимости между Excel 2016 и Excel 2010.

Dim oXLApp As Object
Set oXLApp = GetObject(,"Excel.Application")

Причина, по которой мне нужно использовать, заключается в том, что мне нужно получить данные из текущего документа Excel, который содержит макрос, и скопировать и вставить эти данные через другое приложение. Когда я попытался поместить данные в другой объект и затем вставить данные, форматирование теряется и создает проблему.

Есть ли какие-либо указатели, которые можно мне дать, чтобы уменьшить потребление памяти, что приводит к необычному поведению; случайные сбои во всем, проблемы «Недостаточно системных ресурсов для правильного отображения» и т. д. Окончательная рабочая книга является достаточно большой, но она должна оставаться такой, поскольку она является входом для другой системы

Любая обратная связь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...