我有一个VBA用户窗体,其中有多个组合框和文本框,它们位于一个多页控件选项卡上。
ComboBox1可见并设置为TabIndex 26。
文本框2和3不可见,并设置为TabIndex 27和28。
文本框4可见,并将其设置为TabIndex 29。
我已创建代码,如果更新后的ComboBox1为“是”,则取消隐藏文本框2和3,并在文本框2上设置焦点。
但是,执行此用户窗体时,如果我在组合框1中选择“是”,则该选项卡将直接转到文本框4-跳过文本框2和3(即使它们现在可见)。
这在UserForm1中的几个不同位置发生-有时在组合框之后,有时在文本框之后。
确保所有制表符顺序正确。
还尝试了SetFocus的代码。在子程序的各个阶段都添加了此代码。
Private Sub ComboBox1_AfterUpdate()
If ComboBox1 = "Yes" Then
Label1148.Visible = True
Label1149.Visible = True
Textbox2.Visible = True
Textbox3.Visible = True
Me.Textbox2.SetFocus
End If
End Sub
我希望如果将Combobox1选择为“是”,则该选项卡将直接转到(现在)可见的Textbox2。
如果将Combobox1选择为“否”,则文本框2和3保持不可见,并且选项卡直接进入文本框4。