在不同的工作表上运行相同的宏

时间:2018-01-09 06:00:24

标签: excel vba excel-vba

我有一本包含10个工作表的工作簿。我记录了一个用于从第一个工作表创建数据透视表的宏。

当我在另一个工作表中运行宏时,它只是创建了包含第一个工作表中数据的相同数据透视表,即使我已经在脚本中用ActiveSheet替换了工作表名称。

我仔细检查了脚本,但我找不到为什么它总是产生相同的数据透视表。

Sub Macro3()
'
' Macro3 Macro
'
Dim lastrow As Long
Dim TheRange As String
'
lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
TheRange = "WorksheetConnection_ActiveSheet!$A$1:$D$" & lastrow
'
ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
    ActiveWorkbook.Connections("TheRange"), _
    Version:=xlPivotTableVersion15).CreatePivotTable TableDestination:= _
    ActiveSheet.Range("E1"), TableName:="PivotTable1", DefaultVersion:= _
    xlPivotTableVersion15
Cells(1, 5).Select
ActiveSheet.PivotTables("PivotTable1").CubeFields.GetMeasure _
    "[Range].[Store_CODE]", xlSum, "Sum of Store_CODE"
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( 
_
    "PivotTable1").CubeFields("[Measures].[Sum of Store_CODE]"), _
    "Sum of Store_CODE"
With ActiveSheet.PivotTables("PivotTable1").CubeFields("[Range].[Date]")
    .Orientation = xlRowField
    .Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields( _
    "[Measures].[Sum of Store_CODE]")
    .Caption = "Distinct Count of Store_CODE"
    .Function = xlDistinctCount
End With
End Sub


enter code here

0 个答案:

没有答案