gpt4 book ai didi

vba - 将单选按钮值属性设置为 true 以在用户表单中显示其选中状态

转载 作者:行者123 更新时间:2023-12-04 21:32:27 26 4
gpt4 key购买 nike

我在用户表单上有 3 个单选按钮。我必须在表单加载时根据 Range("R"& rNo) 中的值设置单选按钮的默认状态(选中)

Private Sub UserForm_Initialize()

If Worksheets("static").Range("R" &
Activation.getMachineIDIndexNo) = 1 Then
radio1yr.value = True

ElseIf Worksheets("static").Range("R" &
Activation.getMachineIDIndexNo) = 6 Then
radio6mon.value = True

ElseIf Worksheets("static").Range("R" &
Activation.getMachineIDIndexNo) = 3 Then
radio3mon.value = True
End If

我也有关于单选按钮点击事件的代码
 Private Sub radio1yr_Click()
'// some code
End Sub

Private Sub radio3mon_Click()
'// some code
End Sub

Private Sub radio6mon_Click()
'// some code
End Sub

使用此代码:

radio3mon.value = True



我面临的问题是当表单加载时它也会执行 中的代码单选按钮点击事件 这是我不想要的。

我希望单选按钮单击事件仅在用户希望在表单加载后选择其中一个按钮时运行。

最佳答案

如果表单已初始化,您可以存储一个全局 bool 变量:

Dim IsEnabled as Boolean

然后在 Initialize()方法设置 IsEnabledFalse在开始时,一旦表单被初始化,则为 true:
Private Sub UserForm_Initialize()
IsEnabled = False
If Worksheets("static").Range("R" & Activation.getMachineIDIndexNo) = 1 Then
radio1yr.value = True

ElseIf Worksheets("static").Range("R" & Activation.getMachineIDIndexNo) = 6 Then
radio6mon.value = True

ElseIf Worksheets("static").Range("R" & Activation.getMachineIDIndexNo) = 3 Then
radio3mon.value = True
End If
IsEnabled = True
End Sub

在点击事件中,如果 IsEnabled退出子程序是 False .
Private Sub radio1yr_Click()
If Not IsEnabled Then
Exit Sub
End If
'// some code
End Sub

Private Sub radio3mon_Click()
If Not IsEnabled Then
Exit Sub
End If
'// some code
End Sub

Private Sub radio6mon_Click()
If Not IsEnabled Then
Exit Sub
End If
'// some code
End Sub

关于vba - 将单选按钮值属性设置为 true 以在用户表单中显示其选中状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48518165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com