我正在尝试使用vba编码创建数据透视表。行,列字段,过滤器等我通过组合框给出。代码无效。有人可以帮我调试一下。我在"月"和"广告系列"我试图用作过滤器变量的字段。休息一切正常。
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"mo_pivotdata!R1C1:R120629C11", Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:="mo!R107C43", TableName:="PivotTable1" _
, DefaultVersion:=xlPivotTableVersion14
Sheets("mo").Select
Dim i, j, k, l, m As Integer
For i = 1 To 10
If Range("cg1").Value = i Then
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields(Cells(i, 80
End With
End If
Next i
For j = 1 To 10
If Range("ch1").Value = j Then
With ActiveSheet.PivotTables("PivotTable1").PivotFields(Cells(j, 80).Value)
.Orientation = xlColumnField
.Position = 1
End If
Next j
For k = 1 To 10
If Range("cj1").Value = k Then
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Month")
.Orientation = xlPageField
.Position = 1
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
"PivotTable1").PivotFields(Cells(k, 81).Value), "Sum Total", xlSum
End With
End If
Next k
For l = 1 To 10
If Range("cf1").Value = l Then
ActiveSheet.PivotTables("PivotTable1").PivotFields("Month").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Month").CurrentPage = Cells(l, 79).Value
Range("ar104").Value = Cells(l, 79).Value
End If
Next l
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum Total")
.NumberFormat = "#,##0"
End With
For m = 1 To 10
If Range("co1").Value = m Then
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Campaign")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("Campaign").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Campaign").CurrentPage = Cells(m, 94).Value
Range("ar103").Value = Cells(m, 94).Value
End If
Next m
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum Total")
.NumberFormat = "#,##0"
End With
'
Sheets("mo_pivotdata").Visible = False
Application.ScreenUpdating = True
End Sub
我得到一个对话框说
"您要替换目标单元格的内容吗?"
我不希望出现这样的对话框。