VBAの無骨なコマンドボタンに魔法をかけます。
eX-file2ではラベルを利用してボタンを作成しましたが、
ここではImageを使いましょう。
※下のフォームは画像サンプルです。ボタンを押しても反応しません。実物をダウンロードしてお試しください。

左側に並んでいるのがボタンです。
ボタン1つについて、2つのイメージが必要です。
青いボールと赤いボールです。
普段は青いボールを表示させて、マウスが近づいたら赤いボールに切り替えます。
(実際には、赤いボールが上にあるので、この.visibleで切り替えます)
オブジェクトの名前は下記のとおりです。以下のマクロで使用していますので、参考にしてください。
Image1--上のボタン(青)
Image2--上のボタン(赤)
Image3--上のボタン(青)
Image4--上のボタン(赤)
フォームに下記のコードを記述します。
1.フォーム表示時の仕掛け
Private Sub UserForm_Initialize()
Me.Image2.Visible = False
Me.Image4.Visible = False
End Sub
フォーム実行時に、赤いボールを隠して、青いボールを表示させます。
2.イメージの色を変える仕掛け
Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Image2.Visible = True
Me.Image4.Visible = False
End Sub
Private Sub Image3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Image2.Visible = False
Me.Image4.Visible = True
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Me.Image2.Visible = False
Me.Image4.Visible = False
End Sub
マウスの動きを捉えて、それぞれの場所に相応しい表示をします。
Image1_MouseMoveが上のボタン、Image3_MouseMoveが下のボタン、にマウスが近づいたときです。
UserForm_MouseMoveは、マウスがボタンを離れたときのことです。
3.クリックを検知する仕掛け
Private Sub Image2_Click()
MsgBox ("click A")
End Sub
Private Sub Image4_Click()
MsgBox ("click B")
End Sub
マウスクリックをトラップするイベントです。
なおイメージには透明gifを使用しています。