使用vba创建数据透视表

时间:2016-04-27 11:47:45

标签: excel vba excel-vba

我正在尝试使用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

我得到一个对话框说

  

"您要替换目标单元格的内容吗?"

我不希望出现这样的对话框。

0 个答案:

没有答案