Sheets(2).Select
Sheets(2).Name = "Subtract back"
Range("A2:AO35555").Select![!
Range("F10").Activate
Selection.Copy
Sheets.Add after:=ActiveSheet
Worksheets(3).Name = "work"
ActiveSheet.Paste
Rows("1:2").Select
Range("A2").Activate
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Columns("B:C").Select
Selection.Delete Shift:=xlToLeft
Range("D2").Select
Sheets.Add
![ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"work!R1C1:R35552C39", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="樞紐!R1C1", TableName:="樞紐分析表1", DefaultVersion:= _
xlPivotTableVersion10]
https://ithelp.ithome.com.tw/upload/images/20230216/201474387bkyRsuBq6.png]
程式碼如上,我想要創建樞紐分析表,並指定名稱。
錄製的時候是直接新增sheet,可是如果是要再跑一次,
第一次新增會叫做工作表一,第二次就會變成二...持續增加。
想要在這段程式碼修改,但是直接指定名稱還是不行。
求大老解惑,謝謝
![ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"work!R1C1:R35552C39", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="樞紐!R1C1", TableName:="樞紐分析表1", DefaultVersion:= _
xlPivotTableVersion10]
獲取最新創建的工作表的索引:
Dim newSheetIndex As Integer
newSheetIndex = Sheets.Count
將該索引添加到工作表名稱中,並指定樞紐分析表的名稱:
Dim newSheetIndex As Integer
newSheetIndex = Sheets.Count
Sheets.Add after:=ActiveSheet
ActiveSheet.Name = "work" & newSheetIndex
ActiveSheet.Paste
' 設定樞紐分析表的名稱
Dim pivotTableName As String
pivotTableName = "樞紐分析表" & newSheetIndex
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"work" & newSheetIndex & "!R1C1:R35552C39", Version:=xlPivotTableVersion10).CreatePivotTable _
TableDestination:="樞紐!R1C1", TableName:=pivotTableName, DefaultVersion:= _
xlPivotTableVersion10
謝謝大老,
我還有幾個問題想問
我後續執行,發現有三行代碼,是創建時樞紐分析表預設的,
但是會出錯。
.DisplayFieldCaptions = True
.DisplayMemberPropertyTooltips = False
.DisplayContextTooltips = True
.ShowDrillIndicators = True
.PrintDrillIndicators = False
.AllowMultipleFilters = True
.SortUsingCustomLists = True
.FieldListSortAscending = False
.ShowValuesRow = True
.CalculatedMembersInFilters = False
.RowAxisLayout xlTabularRow
我修改的時候直接將這三行刪除,可以成功運行。
但我還是搞不懂這三個的作用。
像是原本false改成true也沒用
其他代碼有正常跑出來了,感謝!