Я выполнил поиск в 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, который содержит макрос, и скопировать и вставить эти данные через другое приложение. Когда я попытался поместить данные в другой объект и затем вставить данные, форматирование теряется и создает проблему.
Есть ли какие-либо указатели, которые можно мне дать, чтобы уменьшить потребление памяти, что приводит к необычному поведению; случайные сбои во всем, проблемы «Недостаточно системных ресурсов для правильного отображения» и т. д. Окончательная рабочая книга является достаточно большой, но она должна оставаться такой, поскольку она является входом для другой системы
Любая обратная связь высоко ценится.