プロが教えるわが家の防犯対策術!

以下の項目があります。
ID,レースID,芝0・ダ1,平地0・障害1,距離,騎手名,調教師名,人気,単勝オッズ,着順,開催

ピボットテーブルで、騎手別の着順数をSheet2のA1に出力しようと、マクロの自動記録で以下を作りましたが、「コピーまたは移動先のセルの内容を置き換えますか」とエラーになります。
データ数は、増えていくので、可変になるようにお願いします。

Sub Macro3()
'
' Macro3 Macro
' マクロ記録日 : 2013/5/6 ユーザー名 :
'
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Sheet1!R1C1:R3785C11").CreatePivotTable TableDestination:=Range("A1"), _
TableName:="ピボットテーブル1"
ActiveSheet.PivotTables("ピボットテーブル1").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:="騎手名", _
ColumnFields:="着順"
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("着順")
.Orientation = xlDataField
.Caption = "データの個数 : 着順"
.Function = xlCount
End With
End Sub

A 回答 (1件)

>Sheet2のA1に出力しようと



のように作成できていません。


Sub Macro3()
'
' Macro3 Macro
' マクロ記録日 : 2013/5/6 ユーザー名 :
'
worksheets("Sheet2").columns.delete
worksheets("Sheet2").select

’Range("A1").Select
’Range(Selection, Selection.End(xlDown)).Select
’Range(Selection, Selection.End(xlToRight)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Sheet1!" & worksheets("Sheet1").range("A1").currentregion.address).CreatePivotTable TableDestination:=Range("A1"), _
TableName:="ピボットテーブル1"
ActiveSheet.PivotTables("ピボットテーブル1").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:="騎手名", _
ColumnFields:="着順"
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("着順")
.Orientation = xlDataField
.Caption = "データの個数 : 着順"
.Function = xlCount
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
おかげで無事解決しました。
データ数が変化しても良いように作り変えていただき重ねて御礼申し上げます。

お礼日時:2013/05/06 20:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!