【エクセルマクロ】クリックしたテキストボックス図形の色変更:簡単解説

エクセルマクロ_クリックした図形の色を変更_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、テキストボックス・図形をクリックすると色が変わるVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

いっきに図形の色を変更したい場合は、こちらを参考にしてみてください。

【エクセルマクロ】テキストボックス図形を塗りつぶしなしに設定:簡単解説
...

クリックしたテキストボックス図形の色変更(透明)

以下のマクロを実行すると、クリックしたテキストボックス図形の色を透明にします。

Sub クリックした図形テキストボックスの背景色を色なしに設定()

Dim Myobj As Variant

    'クリックしたオブジェクトの名称を取得
    Set Myobj = ActiveSheet.Shapes(Application.Caller)

    'クリックしたオブジェクトの塗りつぶしを解除する
    ActiveSheet.Shapes.Range(Array(Myobj.Name)).Fill.Visible = msoFalse

End Sub

 

マクロ実行後

クリックした図形の塗りつぶしをなくしました。

※図形テキストボックスの枠線は残ります。


 
 

図形テキストボックスにマクロ登録する

クリックしてオブジェクトの色を変更するには、

対象オブジェクトにマクロ登録をする必要があります。
 

【対象オブジェクトにマクロ登録をする方法】

1. 対象オブジェクト上で右クリックして、「マクロの登録」を選択する。


 

2.「マクロの登録」画面で、プログラムを選択する。(下図①)

3.「OK」をクリックする。(下図②)


 

クリックしたテキストボックス図形の色変更(透明⇔青)

以下のマクロを実行すると、クリックした図形の背景色を青から透明に、透明から青に変更します。

Sub クリックした図形テキストボックスの背景色を変更()

Dim Myobj As Variant

    'クリックしたオブジェクトの名称を取得
    Set Myobj = ActiveSheet.Shapes(Application.Caller)
    
    With ActiveSheet.Shapes.Range(Array(Myobj.Name))
        
        If .Fill.Visible = msoFalse Then
        
            'クリックしたオブジェクトが透明だったら、背景色に色付け
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 176, 240)
             
        Else
            'クリックしたオブジェクトに色がついていたら、背景色を透明にする
            .Fill.Visible = msoFalse
        End If
    
    End With

End Sub

 

マクロ実行後

クリックした図形の背景色を変更します。

背景色が透明だったら、青色に塗りつぶします。

背景色に色がついていたら、透明に変更します。

クリックごとに色を変えることができます。


 
※図形テキストボックスの枠線は残ります。
 

【エクセルマクロ】ダブルクリックで図形挿入:簡単解説
...