저는 이것이 아주 작은 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