单击时使图像显示/消失

时间:2015-01-19 14:02:17

标签: excel excel-vba vba

假设我画了一个矩形,然后插入一张图片并将其放在矩形上。我现在要做的是当我用鼠标点击图片时它会消失,我只能看到矩形,但是当我点击矩形时,会再次出现相同的图像。

1 个答案:

答案 0 :(得分:1)

以下代码可以重复用于多个图片/矩形。诀窍是矩形必须在具有前缀rect_的相应图片之后命名,例如我的图片被称为“图片1”,并且相应的矩形被重命名为“rect_Picture 1”并且在其上放置“图片1”。将以下代码分配给两个对象。

Sub TogglePictureVisibilty()
    Dim picName As String

    'Capture the macro calling object name
    picName = Application.Caller

    'Remove rect_ from object name if exists
    If Left(picName, 5) = "rect_" Then
            picName = Mid(picName, 6, Len(picName))
    End If

    'Hide if visible and vice versa
    ActiveSheet.Shapes(picName).Visible = Not ActiveSheet.Shapes(picName).Visible
End Sub

希望这有帮助。