如何在窗体中自动在文本框中显示文本光标(与选择的命令按钮相反)?

时间:2013-06-13 17:40:16

标签: forms vba excel-vba excel-2007 excel

我有两个链接到不同表单的Excel图片对象,每个图片都有一个文本框和OK / Cancel按钮。在一种形式中,单击对象时,文本光标位于文本框中:
Correct

但在另一个中它选择OK命令按钮而不是文本框中的文本光标:

Incorrect


我已经浏览了表单和文本框/命令按钮属性,并且没有看到有关选择的内容,并且“正确”的宏属性看起来与“不正确”的宏属性相同。

如何更改表单,以便在打开时文本光标转到文本框而不是选择命令按钮?

3 个答案:

答案 0 :(得分:9)

非常简单的解决方案是将TabIndex Property更改为0.

所以, 1)转到VBA编辑器, 2)在UserForm中选择TextBox,然后 3)更改TabIndex属性窗口中的属性如下所示。

enter image description here

答案 1 :(得分:2)

向表单添加一个事件,以便在初始化时选择正确的texbox。

Private Sub UserForm_Initialize()
    TextBox2.SetFocus
End Sub

答案 2 :(得分:0)

在显示表单之前,您可以执行以下操作:

TextBox1.SetFocus

显然,将“TextBox1”替换为文本框对象的名称。

这应该在任何事件或宏中导致表单.Show,紧接.Show语句之前。