ExcelVBAでグラフから特定の系列を一気に削除するマクロを紹介!

スポンサードリンク

データの確認のため、参考とするデータも対象にしてにグラフを作り、確認が済んだら本命のデータだけを残したグラフにしたいというような時など、比較対象用のデータをグラフから削除する作業が発生しますよね。

グラフが1つ2つなら、この作業なんてことありませんが、グラフの数が多かったら大変な作業です。

今回はこの、グラフから特定の系列を一気に削除する作業を、効率よくささっと片付けてしまう方法を紹介していきます!

さて、今回の問題にどう対処するか?

実はこの問題、ExcelのVBAを用いて、マクロをくつると簡単に処理できるんですよ。

グラフから特定の系列を一気に削除する作業を効率よく行いたいあなた!

是非この方法を参考にしてみてくださいね。
このページの中では、今回紹介するグラフから特定の系列を一気に削除するマクロ組み込んだExcelファイルをダウンロードできるようにしています。

これを使えば、一からExcelを作り込む必要もありませんよ。ファイルを手にした瞬間、作業スピードは一気に早まります!是非使ってみてくださいね。

では本編スタートです!

スポンサードリンク

『グラフから特定の系列を一気に削除する』には?まずは問題を整理しよう!

今回解決するのはグラフから特定の系列を一気に削除するという作業をExcelにまかせて手軽に自動で終わらせるというものですね。

この作業を手作業で行うには、

  • グラフ上で削除する系列をマウスで選択
  • 「Backspace」または「Delete」キーを押す
  • この動作を全てのグラフに対して実施

という手順をとるのが普通なのではないでしょうか。削除したい系列のデータが選択しやすければよいですが、本命のデータとよく似たデータで、プロットが重なっているときなど、間違えないように削除するデータを選択するのは骨が折れる作業です。

今回はこの手順をExcelで自動化してしまいましょう!

『グラフから特定の系列を一気に削除する』方針をチェック!

ここでは、グラフから特定の系列を一気に削除するという作業をExcelに実施させるためにはどうすればよいかをみていきます。
一つひとつ手作業で行うには、上で書いた

この作業を手作業で行うには、

  • グラフ上で削除する系列をマウスで選択
  • 「Backspace」または「Delete」キーを押す
  • この動作を全てのグラフに対して実施

という手作業が必要でしたよね?

今回はこの手順をExcelのマクロ(VBA)をつかって自動で行っていくことにしましょう。Excelマクロで同じことを行うため、次の手順で処理を行わせます。

  • 削除する系列の番号を取得させる
  • 全てのグラフを対象に取得した番号の系列を削除

これをVBAでかけば今回のグラフから特定の系列を一気に削除するという作業は一発で一瞬で完了します!しかも処理はプログラムした内容に従って、いつでも何度でも実施できるので、処理を間違ってしまうということもありませんよ!

スポンサードリンク

『グラフから特定の系列を一気に削除する』作業をExcelで解決!

ではグラフから特定の系列を一気に削除するという課題を解決する、具体的なマクロの記述をみていきましょうね!VBAで書いたリストは次の通りです!

データをグラフに表示すると、設定した順番で系列に番号がついています。この番号を指定すればExcelは系列を判別できます。

今回、削除する系列の番号は、InputBoxを使用して指定することにしました。グラフを調べて、削除したい系列が何番目のデータになっているかを確認してマクロを使用してください。

Attribute VB_Name = "Module1"
'***********************************************************
'** 仕事サクサク!定時退社のために EXCEL GO! GO!
'** (URL:https://excelgogo.net/)
'** 是非ご活用ください♪
'***********************************************************
Sub シート内の全グラフから指定した系列を削除する()
Dim ChrtObj As ChartObject
Dim i As Integer
'
On Error GoTo Line10
i = InputBox("削除する系列の番号を指定してください。", "入力")
'
For Each objChart In ActiveSheet.ChartObjects
With objChart.Chart.SeriesCollection(i).Delete
End With
Next
GoTo Line20
'
Line10:
MsgBox "数字を入力しましたか?存在する系列番号を入力しましたか?"
Line20:
'
End Sub

 

下のような場合はマクロを使用するときに気をつけてくださいね。

5つの系列があって、3番目と5番目の系列のデータを削除したい場合を考えます。ではまずこのマクロを使って3番目の系列を削除しましょう。

この処理を行った後、削除前に5番目だった系列は、削除後のグラフでは4番目の系列になっています。

ですので、2回目にマクロを動かす場合は、4番目の系列を指定してください。

まとめ

今回は、『グラフから特定の系列を一気に削除する』という問題をExcelのマクロをつかって自動化し、作業を効率化する方法を紹介しました。

 

・グラフ上で削除する系列をマウスで選択
・「Backspace」または「Delete」キーを押す
・この動作を全てのグラフに対して実施

 

という地味で面倒な作業を、

・削除する系列の番号を取得させる
・全てのグラフを対象に取得した番号の系列を削除

という手順で処理をするマクロにしてしまうところがポイントです。

下で紹介するExcelファイルも是非お使いくださいね。プログラムを書く時間も短縮できると思います。

ある機能をExcelで実現するとき、その方法は一つだけとは限りません。

ExcelVBAで使用できる機能をフルに使ってシンプルに作ることもできます。ただこれにはそれなりの勉強が必要。すぐには使えず、今すぐ問題を解決したいとい状況にはあいません。ですので、このブログで紹介するマクロは、できるだけ簡単なもの、VBAにそう詳しくなくても読めそうなもの、手を加えやすいものになるように心がけています。

マクロって難しそう、と敬遠していた方にマクロって意外とお手軽ね!と感じていただき、これを応用すればあの作業も自動化できるかも!と次のステップやアクションにつなげていただければと思います。

Excelのスキルを一気に向上させて、ライバルに差をつけたい、仕事を一気にさばいてスピードアップしたい、スキルを身に着けて転職や就職に役立てたいと思ったあなた!ぜひ下のボタンをクリックしてください!
募集締め切りが迫っているので、期間限定で「短期間で実力の向上が見込めるお手頃な方法」を紹介していますよ。

ホントは管理人Goも早く知りたかった!オンラインブートキャンプで、
見やすいデータをより早く仕上げる Excel術をマスターしよう!

 

『グラフから特定の系列を一気に削除する』Excelマクロをプレゼント

今回紹介した

  • 削除する系列の番号を取得させる
  • 全てのグラフを対象に取得した番号の系列を削除

という機能をもたせたマクロを実装したExcelファイル、プログラムを記載したbasファイル
が下からダウンロードできます。

 

お好きな形式のファイルをダウンロードして、実際に動かしてみたり、あなたの課題にあわせてExcelを調整して作業時間短縮、効率化に役立ててみてください!

basファイルって何?どう使うの?という方やマクロはどのようにして実行するの?と疑問に思った方は、関連記事もチェックしてみてくださいね。


 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter でExcel GO! GO!をフォローしよう!

スポンサードリンク

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

話題をチェック!

  1. 2018-11-1

    Excelマクロ(VBA)で複数のシート上のグラフに同一の処理を行うには?

    Excelファイル内に複数のシートがあり、この中にグラフがいくつも入っているとします。 これら…
  2. 2018-9-30

    Excelの関数を使ったデータ比較法!INDIRECTとMATCHを活用する!

    最新データと一週間前のデータにどんな違いがあるのか比較してチェックしたい! でも、ひとつひとつ…
  3. 2018-7-16

    Excel マクロ(VBA)でグラフ(散布図)を大量自動作成!

    Excelはグラフを簡単につくれるのも魅力ですが、つくらなければいけないグラフが多いと、この作業も大…
ページ上部へ戻る