具体的效果就是一个图形做选中按钮,点一下填充为黑色,点一下恢复到无填充的状态。
 

我用两种方法实现,
其中Application.Caller是自带的功能,指的是当前鼠标点击的对象。

方法一适用于新版本的office,直接可以使用Application.Caller,方法二适用于老版本的office,需要声明一下这个功能才能套用。
方法一
Sub Oval1_Click1()
With ActiveSheet.Shapes(Application.Caller).Fill
.Visible = Not .Visible
If .Visible Then
.Solid
.ForeColor.SchemeColor = 8
End If
End With
End Sub

方法二
(需要先给当前的框颜色填充成0或者8)
Sub Oval1_Click2()
Dim WhoAmI As String, sh As Shape
WhoAmI = Application.Caller
ActiveSheet.Shapes(WhoAmI).Select
If Selection.ShapeRange.Fill.ForeColor.SchemeColor = 8 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 0
Else
If Selection.ShapeRange.Fill.ForeColor.SchemeColor = 0 Then
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 8
End If
End If
End Sub