在UserForms

时间:2018-01-11 10:22:48

标签: vba excel-vba excel

我在UserForm中有以下代码:

Private Sub CommandButton1_Click()
    Warning_Box.Hide
End Sub

Private Sub OptionButton1_Click()
    KeepGoing = 0
End Sub

Private Sub OptionButton2_Click()
    KeepGoing = 1
End Sub

第一次运行此代码时,它可以正常工作,因为VBA代码没有预先选择任何OptionButtons。然而,第二次预先选择了先前的选择。这似乎会停止正确设置KeepGoing值(如前面的部分设置KeepGoing = 2)。

基本上,如何在第一次运行后预先选择OptionButton?

2 个答案:

答案 0 :(得分:0)

您需要更改

Warning_Box.Hide

Unload Me

答案 1 :(得分:0)

您可能有充分的理由不使用卸载我。如果是这样,您只需在代码中的某处将所有选项按钮的值设置为false。

Warning_Box.OptionButton1.Value = False
每个选项按钮

。如果它是选项按钮,您还可以循环通过Warning_Box.Controls并将值设置为false。

Dim con As Control

For Each con In ufMain.Controls
    If TypeName(con) = "OptionButton" Then con.Value = False
Next con