VBA为xlsx创build超过69,000行的数据透视表

我是VBA编程的新手,现在为几个xlsx / xls文件创build数据透视表。 有些文件有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 

它运作良好,直到那些超过70,000个实例的xlsx文件。

感谢您的温柔帮助。

尝试这个

 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表格(在VBA中称为ListObject)来解决此问题。

然后,我通过Excel Table而不是Range作为PivotCaches.Create()的源。

它只是工作。