大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、グラフの系列を削除または非表示にする方法について、ご紹介します。系列の削除は、「.Delete」を使います。系列を非表示にするには、「.IsFiltered」を使います。系列の非表示の場合は、「.FullSeriesCollection」を使うのがポイントになります。

はじめに

この記事では、グラフの系列を削除と非表示にする方法について、ご紹介します。

グラフの系列の削除は、「.Delete」を使います。

グラフの系列を非表示にしたい場合は、「.IsFiltered」です。

グラフの系列を非表示にする場合は、「FullSeriesCollection」を使うのがポイントになります。

VBAでのグラフの操作になれていきましょう。

では、VBAでグラフの系列を削除と非表示にする方法について、解説していきます。

この記事で紹介すること

  • VBAでグラフの系列を削除と非表示にする方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAコードまとめ

グラフの系列の削除と非表示にするVBAコードについて、まとめています。

VBAコードだけ確認したい場合に、ご活用ください。

'系列の削除
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2).Delete

'系列の非表示と表示
ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(2).IsFiltered = True '非表示
ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(2).IsFiltered = False '表示

では、解説していきます。

グラフの系列を削除する

グラフの系列を削除してみます。

「Delete」を使う

グラフの系列を削除するには、「Delete」を使います。

'系列を削除
ActiveSheet.ChartObjects(1).Chart.SeriesCollection(系列の番号).Delete

という感じで、SeriesCollectionに系列の番号を指定して、系列を削除します。

系列のイメージについて、詳細はこちらでまとめています。

2番目の系列を削除してみる

2番目の系列を削除してみます。

2番目なので「.SeriesCollection(2)」とします。

Sub TEST1()
        
    '系列を削除
    ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2).Delete
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意

では、VBAコードを実行してみます。

2番目の系列を削除

2番目の系列を削除

2番目の系列を削除できました。

グラフの系列を非表示にする

グラフの系列を「非表示」にしてみます。

「IsFiltered」を使う

グラフの系列を非表示にするには、「IsFiltered」を使います。

'系列を非表示
ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(系列の番号).IsFiltered = True '表示はFalse

という感じで、系列の番号を「FullSeriesCollection」に指定して、系列を非表示にできます。

「FullSeriesCollection」を使うのがポイント

グラフの非表示や表示の場合は、「FullSeriesCollection」を使うのがポイントです。

グラフを非表示にすると、「SeriesCollection」では表示することができないからです。

「FullSeriesCollection」と「SeriesCollection」の違いはこんな感じです。

「FullSeriesCollection」と「SeriesCollection」の違い

「FullSeriesCollection」と「SeriesCollection」の違い

「FullSeriesCollection」は非表示にした系列も含めて連番になります。

「SeriesCollection」だと、非表示にした系列は飛ばした連番になります。

なので、「FullSeriesCollection」だと非表示にした系列も操作することができます。

反対に、「SeriesCollection」だと、非表示にした系列は操作できません。

非表示にするということは、表示にすることもありますので、系列を非表示や表示したい場合は、「FullSeriesCollection」を使いましょう。

2番目の系列を非表示にしてみる

2番目の系列を非表示にしてみます。

2番目なので「FullSeriesCollection(2)」とします。

Sub TEST2()
        
    '系列を非表示
    ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(2).IsFiltered = True
    
End Sub

グラフを用意しておきます。

グラフを用意

グラフを用意しておきます

では、VBAコードを実行してみます。

2番目の系列を非表示

2番目の系列を非表示

2番目の系列を非表示にできました。

データソースで確認してみます。

データソースで確認

データソースで確認

2番目の系列を非表示にできていますね。

2番目の系列を表示する

2番目の系列を「表示」してみます。

表示なので「.IsFiltered = False」とします。

Sub TEST3()
        
    '系列を表示
    ActiveSheet.ChartObjects(1).Chart.FullSeriesCollection(2).IsFiltered = False
    
End Sub

「2番目の系列」を「非表示」にしたグラフを用意します。

「2番目の系列」を「非表示」にしたグラフ

「2番目の系列」を「非表示」にしたグラフ

では、VBAコードを実行してみます。

2番目の系列を表示

2番目の系列を表示

2番目の系列を表示することができました。

おわりに

この記事では、グラフの系列を削除と非表示にする方法について、ご紹介しました。

グラフの系列の削除は、「.Delete」を使います。

グラフの系列を非表示にしたい場合は、「.IsFiltered」です。

グラフの系列を非表示にする場合は、「FullSeriesCollection」を使うのがポイントになります。

VBAでのグラフの操作になれていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す