• ベストアンサー

エクセル2000マクロについて

シートにデータベースの表を作っています。 このデータベースを元にピボットで5つの作られたシートがあります。 データーベースのシートの中のデータが更新されたら、自動的に 5つの作られたシートもデータを自動更新したいマクロを作る場合は どうすればいいのか教えてください。 5つのシートをそれぞれ選んでピボットのデータ更新ボタンを押さないと 5つのシートのデータが更新されない。 これをマクロで自動で5つのシートのデータを更新したい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 2002pon
  • ベストアンサー率48% (42/87)
回答No.1

データベースのシートのVBAprojectに以下のマクロを書けばうまくいくかも。 A1セルが変更した時の例です。 また、ピボットのシート名は、Sheet2からSheet6の場合です。 Private Sub Worksheet_Change(ByVal Target As Range) flg = 0 If Target.row = 1 And Target.Column = 1 Then 'セルA1が変更したら flg = 1 '入力値変更 End If if flg=1 then Sheets("Sheet2").PivotTables("ピボットテーブル").PivotCache.Refresh Sheets("Sheet3").PivotTables("ピボットテーブル2").PivotCache.Refresh Sheets("Sheet4").PivotTables("ピボットテーブル3").PivotCache.Refresh Sheets("Sheet5").PivotTables("ピボットテーブル4").PivotCache.Refresh Sheets("Sheet6").PivotTables("ピボットテーブル5").PivotCache.Refresh End if End Sub "ピボットテーブル1"のところは名前が違うかも知れませんが、 ここは「新しいマクロの記録を記録する」等で確かめてください。

関連するQ&A

専門家に質問してみよう