我認爲這應該是一個簡單的考慮我有很少的VB知識:)我已經錄製了一個宏,爲當前工作表上的範圍創建數據透視表。當然,這給了我的是爲特定表單創建數據透視表的代碼。我正在嘗試調整代碼以獲取活動工作表的名稱,以便我可以在不同工作表中使用此宏。我試圖搜索並準確找到如何檢索名稱,然後將該名稱提供給將創建數據透視表的過程的代碼。傳遞Excel工作表名稱爲宏VB
我在代碼的ActiveWorkbook.PivotCaches.Create部分打了一個包版。我得到「運行時錯誤'1004':應用程序定義或對象定義的錯誤」消息。
任何幫助將不勝感激!
Sub Macro1()
Dim sht As String
sht = ActiveSheet.Name
Columns("A:K").Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
Worksheets(sht).Range("!R1C1:R1048576C11"), Version:=6).CreatePivotTable TableDestination:= _
Worksheets(sht).Range("!R1C14"), TableName:="PivotTable3", DefaultVersion:=6
ActiveSheet.Select
Cells(1, 14).Select
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Department")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable3").PivotFields(_
"Originating Master Name")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Net")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Month")
.Orientation = xlRowField
.Position = 4
End With
ActiveSheet.PivotTables("PivotTable3").AddDataField ActiveSheet.PivotTables(_
"PivotTable3").PivotFields("Net"), "Count of Net", xlCount
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Month")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable3").PivotFields("Count of Net")
.Caption = "Sum of Net"
.Function = xlSum
End With
End Sub
我目前正在使用Excel 2016 – Zwick44