VBA检查是否已单击按钮

use*_*046 4 vba click button

我认为这是一个简单的解决办法,但我已经被困在这个麻烦的地方好几个小时了.

基本上在excel工作表中我有两个按钮分配给宏:1和2.如果用户先点击1然后点击然后2,2运行一些来自1的变量.但我需要2才能独立运行如果先点击2.因此,我需要在2代码中使用某种方法来询问是否单击了1个按钮.

1和2都是公共潜艇.我认为定义中缺少一些东西,但我不确定.

简单样本:

Public Sub 1()
do this
End Sub

Public Sub 2()
If 1 clicked then
   process a
Else
   process b
End if
End Sub
Run Code Online (Sandbox Code Playgroud)

use*_*348 7

设置一个Public布尔值并使用它

例如

Dim ButtonOneClick As Boolean 'Make sure this is before all subs

Sub Button1_Click()
ButtonOneClick = True
End Sub

Sub Button2_Click()
If ButtonOneClick Then
    MsgBox "Button 1 Was Clicked"
Else
    MsgBox "Button 1 Was NOT Clicked"
End If

ButtonOneClick = False
End Sub
Run Code Online (Sandbox Code Playgroud)