VBA用户窗体文本框默认值和高亮显示

8
在我的用户窗体中,我想为我的文本框设置一个默认值,在焦点集中时会被突出显示。
Private Sub UserForm_Initialize()

NameTextBox.Value = "Your Name Here"

NameTextBox.SetFocus

End Sub

当这段代码运行时,光标应该设置在默认文本的末尾,即在“...Here”之后。我希望“Your Name Here”能被突出显示,这样当表单生成时,用户可以开始替换默认/占位文本。
你能帮我编写代码以设置可编辑的默认值吗?
3个回答

17

这将选择 TextBox 中的所有文本:

Private Sub UserForm_Initialize()
With Me.NameTextBox
    .Value = "Your Name Here"
    .SetFocus
    .SelStart = 0
    .SelLength = Len(.Text)
End With
End Sub

-1

EnterFieldBehavior属性设置为frmEnterFieldBehaviorSelectAll,这样当焦点移动到该字段时,整个字段都会被选择。


-5

当你的表单加载时,这行代码怎么样?

NameTextBox.SelectAll()

当我将那段代码作为最后一行添加时,会出现“编译错误:预期:=”的错误。 - blahblahblah
bfs1990 说了什么错误。 更具体地说,Userform Textbox 没有 "SelectAll" 方法。 我对此回答进行了负分评定。 - Doug Glancy
啊对不起,可能有些混淆了。我假设使用的文本框是在System.Windows.Forms命名空间中。链接 - nabinchha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接