解决选项卡顺序问题

时间:2019-05-15 14:59:15

标签: excel vba userform

我有一个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。

0 个答案:

没有答案