Excel 用于在数据透视表中使用更改的源数据生成报表数据的通用宏
我一直在生成多个excel工作簿场景,需要创建单独的数据透视表来查看结果(也创建图形)。当然有一个宏我可以运行为我做到这一点 我试着录制我需要的宏(见下文),但它只在同一工作表中的源和新工作表中的源相同时才起作用 如何将代码重新编写为。。。不太具体,所以我可以在新工作簿出现时点击播放 以下是我目前的代码:Excel 用于在数据透视表中使用更改的源数据生成报表数据的通用宏,excel,vba,pivot-table,Excel,Vba,Pivot Table,我一直在生成多个excel工作簿场景,需要创建单独的数据透视表来查看结果(也创建图形)。当然有一个宏我可以运行为我做到这一点 我试着录制我需要的宏(见下文),但它只在同一工作表中的源和新工作表中的源相同时才起作用 如何将代码重新编写为。。。不太具体,所以我可以在新工作簿出现时点击播放 以下是我目前的代码: Sub Output() ' ' Output Macro ' ' Keyboard Shortcut: Ctrl+r ' Cells.Select Sheets.Add
Sub Output()
'
' Output Macro
'
' Keyboard Shortcut: Ctrl+r
'
Cells.Select
Sheets.Add
ActiveWorkbook.Worksheets("Sheet5").PivotTables("PivotTable7").PivotCache. _
CreatePivotTable TableDestination:="Sheet5!R3C1", TableName:="PivotTable7" _
, DefaultVersion:=6
Sheets("Sheet5").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable7")
.ColumnGrand = True
.HasAutoFormat = True
.DisplayErrorString = False
.DisplayNullString = True
.EnableDrilldown = True
.ErrorString = ""
.MergeLabels = False
.NullString = ""
.PageFieldOrder = 2
.PageFieldWrapCount = 0
.PreserveFormatting = True
.RowGrand = True
.SaveData = True
.PrintTitles = False
.RepeatItemsOnEachPrintedPage = True
.TotalsAnnotation = False
.CompactRowIndent = 1
.InGridDropZones = False
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = False
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = False
.CalculatedMembersInFilters = False
.RowAxisLayout xlCompactRow
End With
With ActiveSheet.PivotTables("PivotTable9").PivotCache
.RefreshOnFileOpen = False
.MissingItemsLimit = xlMissingItemsDefault
End With
ActiveSheet.PivotTables("PivotTable9").RepeatAllLabels xlRepeatLabels
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Year"), "Sum of Year", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data1"), "Sum of Data1", xlSum
With ActiveSheet.PivotTables("PivotTable9").DataPivotField
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data2"), "Sum of Data2", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data3"), "Sum of Data3", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data4"), "Sum of Data4", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data5"), "Sum of Data5", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data6"), "Sum of Data6", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Total_Data7"), _
"Sum of Total_Data7", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data8"), "Sum of Data8", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data9"), "Sum of Data9", _
xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data10"), "Sum of Data10", _
xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data11"), _
"Sum of Data11", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data12"), "Sum of Data12", xlSum
ActiveSheet.PivotTables("PivotTable9").AddDataField ActiveSheet.PivotTables( _
"PivotTable9").PivotFields("Data14"), "Sum of Data14", xlSum
With ActiveSheet.PivotTables("PivotTable9").PivotFields("Sum of Year")
.Orientation = xlColumnField
.Position = 1
End With
ActiveWindow.SmallScroll Down:=-3
Range("A20").Select
End Sub
布鲁斯,谢谢你的信息。重写select out将是一个开始,但我不知道如何将pivot表部分导入…该链接中也有这么多条目BruceWayne-有任何您特别引用的条目吗?