我希望这是一个相对容易的问题,尽管我花了几个小时进行网络搜索并使用T& E无济于事。希望有人可以提供帮助; o)
我有一个excel模块,它显示了一个UserForm,可以在进行大量处理之前获取一些输入数据。在用户窗体的底部有两个标记为“确定”和“取消”的命令按钮。我需要能够让用户更改选项按钮,然后单击确定或取消退出,我的模块将继续基于的过程是否按下了“取消”。我似乎无法通过按下表单上的“取消”按钮找到读取布尔结果的方法。我99%确定它是某种公共/私有引用错误,但是我还没有足够的经验来解决它。这是代码片段:
(来自Module1)
Sub ModuleName()
Dim State as Boolean
' Display Parameter box
UserForm2.Show
If UserForm2.ButtonCancel Then
State = True
Else
State = False
End If
End Sub
根据取消的真或假,我可以开始其余程序。
(UserForm2代码)
Private Sub ButtonCancel_Click()
BtnCancel = True
Unload Me
End Sub
Private Sub ButtonOK_Click()
BtnCancel = False
Unload Me
End Sub
Private Sub ButtonReset_Click()
'Set the Default Settings
NEAlias.Value = "True"
NoteIgnore.Value = "True"
ABIgnore.Value = "True"
LinkIgnore.Value = "True"
End Sub
Private Sub UserForm_Initialize()
Dim BtnCancel As Boolean
'Add the Text to the options
NEIgnore.Caption = "Ignore"
NoteIgnore.Caption = "Ignore"
ABIgnore.Caption = "Ignore"
LinkIgnore.Caption = "Ignore"
NEAlias.Caption = "Alias Only"
NoteAlias.Caption = "Alias Only"
ABAlias.Caption = "Alias Only"
LinkAlias.Caption = "Alias Only"
NEMove.Caption = "Move and Alias"
NoteMove.Caption = "Move and Alias"
ABMove.Caption = "Move and Alias"
LinkMove.Caption = "Move and Alias"
'Set the Default Settings
NEAlias.Value = "True"
NoteIgnore.Value = "True"
ABIgnore.Value = "True"
LinkIgnore.Value = "True"
End Sub
就是这样。它看起来应该很简单,但我很难过。 TIA提供任何帮助!
答案 0 :(得分:3)
[解决] 我终于想通了。我只需要在Module1的声明部分中声明:
Public BtnCancel As Boolean