Невозможно использовать макрос для сводной таблицы для более чем 65500 строк - PullRequest
0 голосов
/ 28 июня 2018

Я использую макрос для сводной таблицы в Excel ...

когда я пытаюсь разместить сводную таблицу для данных размером около 80 000 строк, моя сводная таблица не отображается, но если я беру только 65 000 строк, чем ее работа, любой может мне помочь в отладке этой ошибки.

Это коды VBA, которые я использую

Option Explicit

Sub Macro1()

'Declare Variables
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim LastRow As Long
Dim LastCol As Long


'Delete Preivous Pivot Table Worksheet & Insert a New Blank Worksheet With Same Name
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("PivotTable").Delete
Sheets.Add Before:=ActiveSheet
ActiveSheet.Name = "PivotTable"
Application.DisplayAlerts = True
Set PSheet = Worksheets("PivotTable")
Set DSheet = Worksheets("Data")


'Define Data Range

    LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
    LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
    Set PRange = DSheet.Cells(1, 1).Resize(LastRow, LastCol)

'Define Pivot Cache
Set PCache = ActiveWorkbook.PivotCaches.Create _
(SourceType:=xlDatabase, SourceData:=PRange). _
CreatePivotTable(TableDestination:=PSheet.Cells(2, 2), _
TableName:="EmployeePivotTable")

'Insert Blank Pivot Table
Set PTable = PCache.CreatePivotTable _
(TableDestination:=PSheet.Cells(1, 1), TableName:="EmployeePivotTable")

'Insert Row Fields
With ActiveSheet.PivotTables("EmployeePivotTable").PivotFields("FilePeriod")
        .Orientation = xlRowField
        .Position = 1
End With
With ActiveSheet.PivotTables("EmployeePivotTable").PivotFields("ProjectNumber")
        .Orientation = xlRowField
        .Position = 2
End With

'Insert Column Fields
With ActiveSheet.PivotTables("EmployeePivotTable").PivotFields("EffectiveFTE")
        .Orientation = xlColumnField
        .Position = 1
End With

'Format Pivot Table
ActiveSheet.PivotTables("EmployeePivotTable").ShowTableStyleRowStripes = True
ActiveSheet.PivotTables("EmployeePivotTable").TableStyle2 = "PivotStyleMedium9"
End Sub
...