我如何才能通过首先单击运行宏并再次单击同一按钮来运行另一个宏?

时间:2018-10-27 20:36:11

标签: excel vba excel-vba excel-formula

我有2个宏,一个用于显示图像,另一个用于隐藏或删除该图像。 我只需要在单击按钮时显示此图像,但是当我第二次单击时再次隐藏此图像。

2 个答案:

答案 0 :(得分:3)

您可以将相同宏用于两个功能:

Sub ShowAndHide()
    Dim s As Shape
    Set s = ActiveSheet.Shapes("Rectangle 1")
    s.Visible = Not s.Visible
End Sub

如果宏运行并且Shape不可见,它将变为可见。下次宏运行时,它将Shape恢复为隐藏状态。重复单击将产生显示/隐藏/显示/隐藏/显示...........

答案 1 :(得分:1)

如果要使用相同的命令按钮在2个宏之间切换,则以下内容可用作参考

Dim btnRun As Shape 'Declaring the command button variable
Sub Initializevariables()
Set btnRun = Worksheets("Sheet1").Shapes("Button 1") 'Initiailizing the variable
End Sub
' Ensure that you have assigned Macro 1 to the command button
Sub Macro1()
Call Initializevariables
MsgBox "Macro 1 ran"
btnRun.OnAction = "Module1.Macro2"
End Sub

Sub Macro2()
Call Initializevariables
MsgBox "Macro 2 ran"
btnRun.OnAction = "Module1.Macro1"
End Sub