Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5460 / 76732 ←次へ | 前へ→

【76885】VBAでピボットテーブルを自動化する方法
質問  a  - 15/4/2(木) 13:51 -

引用なし
パスワード
   初めまして。
Excel VBAでピボットテーブルを自動化する方法を教えていただきたいです。
何故か一部しかピボットテーブルが表示されずに「オブジェクトが必要です」というエラーが出ました。
デバックをしたところ、下の方に矢印を入れた".Position=1"が黄色くなりました。
おそらくコードの間違いがあると思いますが、過去ログ等を見ても分からなかったので、
どのような間違いがあるのか分かる方はできれば教えていただきたいです。

Sub Macro2()
'
' Macro2 Macro
'

'
  ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "Book1!R1C1:R21C5", Version:=xlPivotTableVersion12).CreatePivotTable _
    TableDestination:="Book1!R23C8", TableName:="ピボットテーブル1", DefaultVersion _
    :=xlPivotTableVersion12
  Sheets("Book1").Select
  Cells(23, 8).Select
  ActiveWindow.ScrollColumn = 2
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollRow = 2
  ActiveWindow.ScrollRow = 3
  ActiveWindow.ScrollRow = 4
  ActiveWindow.ScrollRow = 5
  ActiveWindow.ScrollRow = 6
  ActiveWindow.ScrollRow = 7
  ActiveWindow.ScrollRow = 8
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("氏名")
    .Orientation = xlPageField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("氏名")
    .Orientation = xlRowField
    .Position = 1
  End With
  ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _
    "ピボットテーブル1").PivotFields("性別"), "データの個数 / 性別", xlCount
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("都道府県")
    .Orientation = xlColumnField
    .Position = 1
  End With
  ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _
    "ピボットテーブル1").PivotFields("都道府県"), "データの個数 / 都道府県", xlCount
  ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("データの個数 / 都道府県"). _
    Orientation = xlHidden
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("年齢")
    .Orientation = xlColumnField
    .Position = 1
  End With
  ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _
    "ピボットテーブル1").PivotFields("年齢"), "合計 / 年齢", xlSum
  ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("合計 / 年齢").Orientation = _
    xlHidden
  ActiveWindow.ScrollRow = 9
  ActiveWindow.ScrollRow = 10
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 12
  ActiveWindow.ScrollRow = 13
  ActiveWindow.ScrollColumn = 4
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 6
  ActiveWindow.ScrollColumn = 7
  ActiveWindow.ScrollColumn = 6
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 4
  Range("I23").Select
  ActiveWindow.ScrollRow = 12
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 10
  ActiveWindow.ScrollRow = 9
  ActiveWindow.ScrollRow = 8
  ActiveWindow.ScrollRow = 7
  ActiveWindow.ScrollRow = 6
  ActiveWindow.ScrollRow = 5
  ActiveWindow.ScrollRow = 4
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollColumn = 2
  ActiveWindow.ScrollColumn = 1
  ActiveWindow.ScrollColumn = 2
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollColumn = 4
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 6
  ActiveWindow.ScrollRow = 5
  ActiveWindow.ScrollRow = 6
  ActiveWindow.ScrollRow = 7
  ActiveWindow.ScrollRow = 8
  ActiveWindow.ScrollRow = 9
  ActiveWindow.ScrollRow = 10
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 12
  ActiveWindow.ScrollRow = 13
  ActiveWindow.ScrollRow = 12
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 10
  ActiveWindow.ScrollRow = 9
  ActiveWindow.ScrollRow = 8
  ActiveWindow.ScrollRow = 7
  ActiveWindow.ScrollRow = 6
  ActiveWindow.ScrollRow = 5
  ActiveWindow.ScrollRow = 4
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 4
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollColumn = 2
  ActiveWindow.ScrollColumn = 1
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 8
  ActiveWindow.ScrollColumn = 10
  ActiveWindow.ScrollColumn = 9
  ActiveWindow.ScrollColumn = 8
  ActiveWindow.ScrollColumn = 7
  ActiveWindow.ScrollColumn = 6
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollRow = 5
  ActiveWindow.ScrollRow = 6
  ActiveWindow.ScrollRow = 7
  ActiveWindow.ScrollRow = 8
  ActiveWindow.ScrollRow = 9
  ActiveWindow.ScrollRow = 10
  ActiveWindow.ScrollRow = 11
  ActiveWindow.ScrollRow = 12
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("データの個数 / 性別")
    .Orientation = xlPageField
⇒    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("性別")
    .Orientation = xlColumnField
    .Position = 1
  End With
  ActiveWindow.ScrollRow = 13
  ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _
    "ピボットテーブル1").PivotFields("年齢"), "合計 / 年齢", xlSum
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("電話番号")
    .Orientation = xlPageField
    .Position = 1
  End With
  With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("都道府県")
    .Orientation = xlPageField
    .Position = 1
  End With
End Sub

897 hits

【76885】VBAでピボットテーブルを自動化する方法 a 15/4/2(木) 13:51 質問[未読]
【76886】Re:VBAでピボットテーブルを自動化する方法 マナ 15/4/3(金) 0:09 発言[未読]
【76900】Re:VBAでピボットテーブルを自動化する方法 a 15/4/6(月) 13:26 回答[未読]

5460 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free