如何在 VBA 中激活用户窗体选项按钮(不为其分配值)
How to activate a UserForm OptionButton (Not Assigning it a Value) in VBA
我有一个带有一些框架的用户窗体,这些框架中也有一些选项按钮和一个我每次单击它时都想要的命令按钮,它 运行 是基于 OptionButtons 值的另一位代码在框架中。
我已经知道例如(OptionButton1.Value = True) 方法至少会在视觉上 select 用户窗体中的 OptionButton1,但问题是它实际上不会激活它。
每次我 运行 这段代码都会给我“对象变量或未设置块变量”错误:
Private Sub CommandButton1_Click()
Select Case Frame3.ActiveControl.Name 'This line drops an error
case "Name 1"
'Code Path 1
case "Name 2"
'Code Path 2
end sub
我应该提到当我手动 Select 一个 OptionButton 之前点击我的命令按钮这段代码 运行s 没有错误,所以这让我想到问题应该与 OptionButtons 的“激活”有关不是他们的价值。
要使控件处于活动状态,它必须具有焦点。所以在你的代码的某处,添加这一行:
OptionButton1.SetFocus
如果需要,您也可以分配一个值,但这不是必需的。
我有一个带有一些框架的用户窗体,这些框架中也有一些选项按钮和一个我每次单击它时都想要的命令按钮,它 运行 是基于 OptionButtons 值的另一位代码在框架中。
我已经知道例如(OptionButton1.Value = True) 方法至少会在视觉上 select 用户窗体中的 OptionButton1,但问题是它实际上不会激活它。
每次我 运行 这段代码都会给我“对象变量或未设置块变量”错误:
Private Sub CommandButton1_Click()
Select Case Frame3.ActiveControl.Name 'This line drops an error
case "Name 1"
'Code Path 1
case "Name 2"
'Code Path 2
end sub
我应该提到当我手动 Select 一个 OptionButton 之前点击我的命令按钮这段代码 运行s 没有错误,所以这让我想到问题应该与 OptionButtons 的“激活”有关不是他们的价值。
要使控件处于活动状态,它必须具有焦点。所以在你的代码的某处,添加这一行:
OptionButton1.SetFocus
如果需要,您也可以分配一个值,但这不是必需的。