エクセルマクロで、テキストボックス・図形をクリックすると色が変わる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
マクロ実行後
クリックした図形の背景色を変更します。
背景色が透明だったら、青色に塗りつぶします。
背景色に色がついていたら、透明に変更します。
クリックごとに色を変えることができます。
※図形テキストボックスの枠線は残ります。

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