この記事では、VBAでエクセルシート上に指定した名前の図形が存在するかどうかを確認する方法をご紹介していきます。
基本的には検索したい図形の名前を指定するだけですので、簡単に実行可能です。
それでは早速やっていきましょう。
マクロのテスト環境の紹介
今回は以下のように3つの適当な図形が存在するエクセルシートで実演してみようと思います。
それぞれの図形には、楕円 1、四角 1、三角 1 という名前が付けられています。
(図形の名前は該当図形を選択した際に左上に表示されますのでご確認ください。)
以降のVBAコードでは、この状況下で図形の名前を指定し、その図形が存在するかを確認していきます。
指定図形の存在を確認するVBAコード
それでは実際のコード紹介に入っていきます。
とりあえず “楕円 1″の存在を確認するように書いています。
(先ほど紹介したように “楕円 1″はシート上に存在しています。)
Sub search_obj()
Dim search_obj_name As String
Dim counter As Integer
search_obj_name = "ひし形 1"
For Each obj In ActiveSheet.Shapes
If obj.Name = search_obj_name Then
counter = counter + 1
End If
Next
If counter > 0 Then
MsgBox search_obj_name & "は存在します"
Else
MsgBox search_obj_name & "は存在しません"
End If
End Sub
やっていることは非常にシンプルで、シート上に存在している図形の名前をひとつひとつ確認し、指定した名前と一致するものが一つでもあれば”その図形は存在します”というメッセージを表示するというものです。
このコードを実行してみましょう。
以下の結果が出力されました。
問題なく存在を認識していますね。
次はsearch_obj_name = “ひし形 1″に変更して実行してみましょう。
(先ほど紹介したように “ひし形 1″はシート上に存在していません。)
こちらも問題なく無いものはないと認識できていますね。
というわけでやりたいことは実行できました。
おわりに
というわけで今回はエクセルシート上に指定した名前の図形が存在するかどうかを確認する方法をご紹介しました。
意外と使えるのでこんなこともできるということをぜひ覚えておきましょう。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。
確実にスキルアップできるはずです。
最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
それではまた!
コメント