【エクセルVBA】指定した名前の図形が存在するか確認する方法!

この記事では、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″はシート上に存在していません。)

指定した名前の図形の存在を確認した結果

こちらも問題なく無いものはないと認識できていますね。

 

というわけでやりたいことは実行できました。

 

スポンサーリンク

おわりに

というわけで今回はエクセルシート上に指定した名前の図形が存在するかどうかを確認する方法をご紹介しました。

意外と使えるのでこんなこともできるということをぜひ覚えておきましょう。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました