この記事では、VBA上で指定した名前の図形を削除する方法をご紹介していきます。
そんなのいつ使うんだ?と思われたと思います。
たしかにこのスキルは単体で使うことはありません。
このスキルは例えば処理の中で必要な図形を作成⇒名前をつけておく⇒処理が進んで必要なくなった時に削除する、という流れの中で使用するものです。
意外といろいろな状況で使えますのでぜひマスターしておきましょう。
※以下の記事ではこのスキルを使用しています。興味があればあわせてご覧ください。
【エクセルVBA】サイコロマクロの作り方!各目の画像を準備するだけ!
それではさっそくやっていきましょう!
事前知識:図形の名前とは?
まずは図形の名前とはなんなのかを確認しておきましょう。
実はエクセルシート上にある図形にはすべて名前が付けられています。
その名前は以下の画像のように図形を選択したときに左上の窓枠に表示されています。
(この枠をクリックすれば名前の変更もできます。)
今回はVBA上でここに書いてある名前の図形を見つけて削除するという処理を実行していきます。
指定した名前の図形を削除するVBAコード
それではコードの紹介に移ります。
今回は先ほどの絵で紹介した”楕円 1″という図形を削除してみましょう。
以下がそのコードです。
Sub test()
del_obj_name = "楕円 1"
For Each obj In ActiveSheet.Shapes
If obj.Name = del_obj_name Then
ActiveSheet.Shapes.Range(Array(del_obj_name)).Delete
End If
Next
End Sub
たったのこれだけです。
サンプルコードの実行結果
それでは先ほどのコードを実行してみましょう。
実行前は以下のような状態です。(楕円 1の図形が存在しています。)
それでは実行します。
問題なく楕円 1だけが削除されましたね。
おわりに
というわけでエクセルVBAをつかって指定した名前の図形を削除する方法をご紹介しました。
意外と使えるスキルですので、ぜひマスターしておきましょう!
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント