VBA создает сводную таблицу для xlsx с более чем 69 000 строк

Я новичок в программировании VBA и в настоящее время создает сводные таблицы для нескольких файлов xlsx / xls. Некоторые файлы имеют более 70 000 экземпляров.

'Create Pivot Table for PAX Traffic for each subclasses Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Dim SourceRange As Range Set SourceRange = Selection Application.CutCopyMode = False Sheets.Add ActiveWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=SourceRange, _ Version:=xlPivotTableVersion11).CreatePivotTable _ TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _ , DefaultVersion:=xlPivotTableVersion11 

Он работает хорошо до тех xlsx файлов с более чем 70 000 экземпляров.

Спасибо за вашу нежную помощь.

Попробуй это

 Sub CreatePivot() Dim pt1 As PivotTable Dim ptcache1 As PivotCache Dim trange As Range Dim srange As Range Set srange = ActiveSheet.Range("A1").CurrentRegion Set trange = Sheets("Sheet2").Range("A1") Set ptcache1 = ActiveWorkbook.PivotCaches.Create(xlDatabase, srange) Set pt1 = ptcache1.CreatePivotTable(trange, "do_Amazing") With pt1 .PivotFields("...PivotFields1...").Orientation = xlRowField .PivotFields("...PivotFields2...").Orientation = xlDataField End With 

Я смог решить эту проблему, превратив диапазон в таблицу Excel (называемый ListObject в VBA).

Затем я передал таблицу Excel вместо Range в качестве источника для PivotCaches.Create() .

И это просто сработало.

Interesting Posts

Как определить формат файла Excel в Java?

Дубликаты даты: добавление счетчика для определенной строки на сегодняшний день (VBA / Qlik Sense)

Скопируйте данные в первую пустую строку на другом листе, только если первый столбец не пуст (количество данных меняется)

Офисно-агностический способ доступа к данным в файле .xls?

Openpyxl: определение того, какой символ в значении ячейки зачеркнут

Могу ли я получить ProjectPermissions из надстройки Excel?

Могу ли я проверить значения в двух столбцах и всех строках, чтобы добавить условное значение?

Клонирование стиля POI от листа к другому

Разница между 'on error goto 0' и 'on error goto -1' – VBA

Как создать графический интерфейс для Excel?

Мои данные имеют вид * _ *. Я хотел бы применить к нему условие условие. IF (A1 = * _ *, 1,0). Не работает. Любой другой способ сделать это?

Как я могу выполнить команду cmd line, передающую данные excel в качестве аргумента?

Различное количество недель, где сумма больше 0 PowerPivot

Как сохранить ряд значений в python

MySQL не принимает executeemany () INSERT, запускает Python из Excel (datanitro)

Давайте будем гением компьютера.