2

約9枚の異なるシートがありますが、それらにはすべて4種類のグラフ(合計、比較、日付、トレンド)があります。すべてのシートに 1 種類のグラフを条件付きで表示する VBA を作成しています。たとえば、合計グラフを表示する場合、ワークブック内のすべてのシートを更新する必要があります。グラフを非表示にして 1 つのシートで表示することは既にできますが、すべてのシートでそうしたいと考えています。ここに私のコードがあります:

Sub UpdateGraph()
 Sheets(".graphManager").ChartObjects("Totals").Visible = False
End Sub

すべてのシートでこれを実行できるようにしたいので、次のようなことを試しました。

Sub UpdateGraph()
 Dim ws As Worksheet
    For Each ws In Sheets
       If ws.Visible Then ws.Select (False)
         ActiveWorksheet.ChartObjects("Totals").Visible = False
    Next
End Sub

しかし、運がありません。将来シートを追加する可能性があり、コードを変更し続けたくないため、すべてのシート名を配列に手動で入力したくありません。すべてのシートをループして、「Totals」という名前のグラフを非表示に設定するにはどうすればよいですか? または、シートをループせずに、「Totals」という名前のブック内のすべてのグラフを非表示に設定できますか? ありがとう!

4

1 に答える 1