4

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

基本上在 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
4

1 回答 1

7

设置一个公共布尔值并使用它

例如

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
于 2013-07-26T14:36:47.850 回答