我在用户表单上有三组选项按钮,我想将每个组的状态捕获到一个布尔变量。例如,名为“Process Subfolders”的框架包含两个opt。名为“OptBTN_Subfoldes_yes”和“OptBTN_Subfoldes_no”的按钮在下图中以红色标记。
我编写了一个代码,将组状态分配给名为“SubFolderStatus”的变量。 在表单激活事件和opt时重复相同的代码。按钮更改事件,我的问题是:是否有更清晰,更有效的代码来获得相同的结果? 这是我的代码
Private Sub OptBTN_Subfoldes_no_Change()
Select Case OptBTN_Subfoldes_no.Value
Case True
SubFolderStatus = False
Case False
SubFolderStatus = True
End Select
End Sub
Private Sub OptBTN_Subfoldes_yes_Change()
Select Case OptBTN_Subfoldes_yes.Value
Case True
SubFolderStatus = True
Case False
SubFolderStatus = False
End Select
End Sub
表单激活事件:
Private Sub UserForm_Activate()
Select Case OptBTN_Subfoldes_yes.Value
Case True
SubFolderStatus = True
Case False
SubFolderStatus = False
End Select
End Sub
答案 0 :(得分:1)
您可以定义要从所有事件处理程序调用的公共函数
Public Function SetSubFolderStatus(OptBtnVal as boolean, boolSwitch as boolean) as boolean
SetSubFolderStatus = not (boolSwitch XOr OptBtnVal)
End Function
呼叫就像
Private Sub UserForm_Activate()
SubFolderStatus = SetSubFolderStatus(OptBTN_Subfoldes_yes.value, True)
End Sub
答案 1 :(得分:1)