ピボットテーブルのマクロでシートを指定、連続
過去問?も確認しましたが、うまく行きません。
マクロの自動記録で作成し、TableDestination:=Sheets("Sheet1").Range("A1"),、と変更しましたが、
With ActiveSheet.PivotTables("ピボットテーブル1")のところで止まってしまいます。また、最後の行の
Application.Run "'Pivot for 東京.xls'!Macro3"は、正しい記述でしょうか?
よろしくお願いします。
Workbooks.Open Filename:= _
"C:\Documents and Settings\ \デスクトップ\Access DB\Pivot for 東京.xls"
Sheets("DSG").Select
Columns("A:AZ").Select
Range("Q1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("GSG").Select
Columns("A:AZ").Select
Range("P1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("ダート").Select
Columns("A:AZ").Select
Range("W1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Sheets("芝").Select
Columns("A:AZ").Select
Range("AQ1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Windows("Pivot01.xls").Activate
Sheets("G").Select
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"G!R1C5:R8594C11").CreatePivotTable TableDestination:=Sheets("Sheet1").Range("A1"), TableName _
:="ピボットテーブル1"
With ActiveSheet.PivotTables("ピボットテーブル1") '------------>ここで止まります
.NullString = "0"
.SmallGrid = False
End With
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:="騎手名", _
ColumnFields:=Array("距離", "着順")
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("着順")
.Orientation = xlDataField
.Caption = "データの個数 : 着順"
.Function = xlCount
End With
Application.CommandBars("PivotTable").Visible = False
Windows("Pivot01.xls").Activate
Sheets("1").Select
Columns("A:DD").Select
Selection.Delete Shift:=xlToLeft
Sheets("D").Select
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"D!R1C5:R9508C11").CreatePivotTable TableDestination:=Sheets("Sheet1").Range("A1"), TableName _
:="ピボットテーブル2"
ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:="騎手名", _
ColumnFields:=Array("距離", "着順")
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("着順")
.Orientation = xlDataField
.Caption = "データの個数 : 着順"
.Function = xlCount
End With
Application.CommandBars("PivotTable").Visible = False
Windows("Pivot01.xls").Activate
Sheets("1").Select
Columns("A:DD").Select
Selection.Delete Shift:=xlToLeft
Sheets("GSG").Select
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"GSG!R1C5:R81C11").CreatePivotTable TableDestination:=Sheets("Sheet1").Range("A1"), TableName _
:="ピボットテーブル3"
With ActiveSheet.PivotTables("ピボットテーブル3")
.NullString = "0"
.SmallGrid = False
End With
ActiveSheet.PivotTables("ピボットテーブル3").AddFields RowFields:="騎手名", _
ColumnFields:="着順"
With ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("着順")
.Orientation = xlDataField
.Caption = "データの個数 : 着順"
.Function = xlCount
End With
Application.CommandBars("PivotTable").Visible = False
Windows("Pivot01.xls").Activate
Application.Run "'Pivot for 東京.xls'!Macro3"
End Sub
お礼
ありがとうございます。早速試してみてうまく動きました。すぐにご回答くださり、本当に助かりました。心よりお礼いたします。