大体でIT

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

大体でIT

Excel VBAで、グラフの削除と初期化をする方法について、ご紹介します。グラフの削除は、「.Delete」で、初期化の場合は、「.ChartArea.ClearContents」を使います。グラフを「削除」する場合は、「グラフ」を操作して、「初期化」の場合は、「チャート」を操作です。用途に合わせて使い分けていきましょう。

はじめに

この記事では、グラフの削除と初期化する方法について、ご紹介します。

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

グラフの初期化は、「.ChartArea.ClearContents」でできます。

グラフを「削除」する場合は、「グラフ」を操作します。

グラフの「初期化」の場合は、「チャート」を操作です。

用途に合わせて、使い分けていきましょう。

では、グラフの削除と初期化する方法について、解説していきます。

この記事で紹介すること

  • VBAでグラフの削除と初期化する方法

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

目次

VBAコードまとめ

グラフの削除と初期化をするVBAコードについて、まとめています。

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

'グラフを削除
ActiveChart.Parent.Delete '選択する場合
ActiveSheet.ChartObjects(1).Delete '指定する場合
'グラフを初期化
ActiveChart.ChartArea.ClearContents '選択する場合
ActiveSheet.ChartObjects(1).Chart.ChartArea.ClearContents '指定する場合

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

グラフのオブジェクトの位置関係

グラフのオブジェクトの位置関係

グラフオブジェクトの位置関係

グラフオブジェクトの位置関係です。

「グラフ」の中に「チャート」があります。

「グラフ」→「チャート」の順番

「グラフ」→「チャート」の順番

グラフの「削除」をする場合は、「グラフ」の部分を操作します。

グラフの「初期化」をする場合は、「チャート」の部分を操作です。

グラフを選択する場合

グラフを選択すると、「チャート」の部分が選択されます。

グラフの「削除」の場合は、「グラフ」の部分を操作する必要があるので、「ActiveChart」の「親要素」を指定して、「ActiveChart.Parent」を使います。

グラフの「初期化」の場合は、選択したチャートを使うので、「ActiveChart」を使います。

グラフを「選択」する場合

「ActiveChart.Parent」を使う

選択したグラフを操作する場合に、「削除」したいときは、「ActiveChart.Parent」を操作します。

「初期化」の場合は、チャートの部分を操作するので、「ActiveChart」を操作します。

グラフを指定する場合

グラフを指定する場合で、「削除」したい場合は、「ChartObjects(1)」を使います。

グラフの「初期化」の場合は、「ChartObjects(1).Chart」を操作します。

グラフを「指定」する場合

「ChartObjects(1)」を使う

「1つ目のグラフ」という意味で、「ChartObjects(1)」となります。

2つ目のグラフの場合は、「ChartObjects(2)」とします。

グラフを削除する

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

選択したグラフを削除

「選択」したグラフを削除してみます。

使うVBAコードは、「ActiveChart.Parent.Delete」です。

Sub TEST1()
    
    'グラフを削除(選択の場合)
    ActiveChart.Parent.Delete
    
End Sub

グラフを選択しておきます。

グラフを選択する

グラフを選択する

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

「選択したグラフ」を削除できた

「選択したグラフ」を削除できた

「選択したグラフ」を削除できました。

指定したグラフを削除

次は、「指定」したグラフを削除してみます。

使うVBAコードは、「ActiveSheet.ChartObjects(1).Delete」です。

Sub TEST2()
    
    'グラフを削除(指定する場合)
    ActiveSheet.ChartObjects(1).Delete
    
End Sub

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

グラフを用意

グラフを用意

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

「指定したグラフ」を削除

「指定したグラフ」を削除

「指定したグラフ」を削除できました。

シート内のグラフを削除する

シート内のすべてのグラフを削除してみます。

「For」を使う方法と、「For Each」を使う方法があります。

オブジェクトのイメージがつくのであれば、「For Each」の方がコードも短くて簡単です。

「For」を使う場合

「For」を使う場合で、シート内のグラフをすべて削除してみます。

グラフを削除すると、「番号」が一つずつずれてしまうので、「最後の番号」から「1番目」というように、ループします。

Sub TEST3()
    
    'グラフをループ
    For i = ActiveSheet.ChartObjects.Count To 1 Step -1
        ActiveSheet.ChartObjects(i).Delete '削除
    Next
    
End Sub

「複数のグラフ」を用意しておきます。

「複数のグラフ」を用意

「複数のグラフ」を用意

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

「For」を使って削除

「For」を使って削除

「For」を使ってシート内のグラフをすべて削除できました。

「For Each」を使う場合

「ForEach」を使って、シート内のグラフをすべて削除してみます。

Sub TEST4()
    
    'グラフをループ
    For Each A In ActiveSheet.ChartObjects
        A.Delete '削除
    Next
    
End Sub

「複数のグラフ」を用意しておきます。

「複数のグラフ」を用意

「複数のグラフ」を用意

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

「For Each」を使って削除

「For Each」を使って削除

「For Each」を使ってシート内のグラフをすべて削除できました。

「For Each」の方が簡単ですね。

グラフを初期化する

グラフを初期化してみます。

グラフの初期化は、「.ChartArea.ClearContents」を使います。

選択したグラフを初期化

「選択」したグラフを初期化してみます。

「チャート」を操作したいので、「ActiveChart」を使います。

Sub TEST5()
    
    'グラフを初期化(選択する場合)
    ActiveChart.ChartArea.ClearContents
    
End Sub

グラフを選択しておきます。

グラフを選択する

グラフを選択する

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

「選択したグラフ」を初期化できた

「選択したグラフ」を初期化できた

「選択したグラフ」を初期化できました。

指定したグラフを初期化

「指定」したグラフを初期化してみます。

「チャート」を操作したいので、「ChartObjects(1).Chart」を使います。

Sub TEST6()
    
    'グラフを初期化(指定する場合)
    ActiveSheet.ChartObjects(1).Chart.ChartArea.ClearContents
    
End Sub

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

グラフを用意

グラフを用意

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

「指定したグラフ」を初期化できた

「指定したグラフ」を初期化できた

「指定したグラフ」を初期化できました。

おわりに

この記事では、グラフの削除と初期化する方法について、ご紹介しました。

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

グラフの初期化は、「.ChartArea.ClearContents」でできます。

グラフを「削除」する場合は、「グラフ」を操作します。

グラフの「初期化」の場合は、「チャート」を操作です。

用途に合わせて、使い分けていきましょう。

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

関連する記事から探す

カテゴリから探す

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

アーカイブから探す