Я использую следующий код:Pivot Table-VBA Ошибка
Sub MakeAPivotTable()
Dim pt As PivotTable
Dim cacheOfpt1 As PivotCache 'This is the Source Data
Dim pf As PivotField
Dim pi As PivotItem
Dim LastCol As Long
Dim LastRow As Long
Dim PRange As Range
LastCol = Sheets("Sheet2").Range("A1").SpecialCells(xlCellTypeLastCell).Column
LastRow = Sheets("Sheet2").Range("A1").SpecialCells(xlCellTypeLastCell).Row
Set PRange1 = Sheets("Sheet2").Cells(1, 1).Resize(LastRow, LastCol)
On Error GoTo err_add_Y_next_row
Sheets("Sheet3").Select
ActiveSheet.PivotTables("PivotTable1").TableRange2.Clear 'Delete any Pivot Table
'set the cache of PT
Sheets("Sheet2").Select
Set cacheOfpt1 = ActiveWorkbook.PivotCaches.Create(xlDatabase, PRange1)
'create the pt
Sheets("Sheet3").Select
Set pt = ActiveSheet.PivotTables.Add(cacheOfpt1, Range("a1"), "PivotTable1")
'put the Fields in
With pt
'add the Fields
.PivotFields("CAMPAIGN").Orientation = xlRowField
'.PivotFields("TAG1").Orientation = xlRowField
'.PivotFields("TAG2").Orientation = xlRowField
'.PivotFields("TAG3").Orientation = xlRowField
.PivotFields("CIRN").Orientation = xlColumnField
.PivotFields("RUN").Orientation = xlPageField 'Column Filter
.PivotFields("TVSN").Orientation = xlDataField 'Value Field
'set the number format
.DataBodyRange.NumberFormat = "#,##0.00"
'go to classic View
.RowAxisLayout xlTabularRow
End With
err_add_Y_next_row:
MsgBox Err.Number & Err.Description, _
vbExclamation, "VBAtools.pl"
End Sub
Но когда я бегу код, я получаю ошибку «Имя поля сводной таблицы не действует Для создания. вы должны использовать данные, которые организованы как список с помеченными столбцами. Если вы меняете имя поля сводной таблицы, вы должны ввести новое имя для этого поля. "
Этот код работал нормально. Но внезапно я начал получать эту ошибку.
Может кто-нибудь, пожалуйста, помогите мне найти причину.
спасибо.
Вы проверили имя сводной таблицы? :-) – Makah
В какой строке происходит ошибка? –
@Makah: Да, я проверил имя сводной таблицы. – Beta