VBA新手,我的宏在使用我的数据在同一工作表上创建数据透视表时遇到困难(例如,在" I1"列中启动数据透视表)。我已经能够运行宏来选择工作表中的所有数据,然后在另一个工作表上创建此数据。由于我需要在同一工作簿上循环遍历多个工作表以创建多个数据透视表,因此使用单独的工作表是不可行的。
每个工作表具有相同数量的列,行数不同。我的目标是让宏查看每个工作表并在其旁边输出一个数据透视表。
我觉得我下面的宏没有引用正确的数据透视表目的地。任何帮助将不胜感激。
Sub Macro4()
'
'Macro4 Macro
'
'
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
DataSheet = ActiveSheet.Name
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
DataSheet & "!R1C1:R" & FinalRow & "C8", Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:=DataSheet & "!R1C9", TableName:= _
"PivotTable4", DefaultVersion:=xlPivotTableVersion15
Sheets(DataSheet).Select
Cells(1, 9).Select
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Document Type")
.Orientation = xlRowField.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Accounting Event")
.Orientation = xlRowField.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable4").PivotFields("Document Number")
.Orientation = xlRowField.Position = 3
End With
ActiveSheet.PivotTables("PivotTable4").AddDataField ActiveSheet.PivotTables
( _"PivotTable4").PivotFields("Amount"), "Sum of Amount", xlSum
End Sub
答案 0 :(得分:1)
尝试以下代码,使用一种不同的方法,定义Password
,Worksheet.Protect
,Range
,您可以根据需要轻松修改它们:
PivotTable