Excel VBA TextBox控件的滚动条不能刷新

时间:2023-12-11 23:40:14

问题:Excel中Textbox控件以及Form里的Textbox控件,当直接填充的内容很长时,滚动条不能实时刷新。

现象:

Excel VBA TextBox控件的滚动条不能刷新

修改后:

Excel VBA TextBox控件的滚动条不能刷新

原因:

虽然已经向Textbox的Text里设置了内容,但此时Textbox并没有被激活,焦点也没有变化,所以,Textbox的滚动条没有被刷新出来。

修改后的VBA程序:

-----------------------ActiveX Textbox--------------------------

Private Sub CommandButton1_Click()

    TextBox1.Value = "safdasfgsdfgfhfgjhfjfghjfhjfg" _
& Chr() _
& "" _
& Chr() ' IF the text length is long enough, ENABLE the Textbox's scroll bar
TextBox1.Activate
' Set the current select line: 0
TextBox1.CurLine = End Sub

-----------------------Form Textbox--------------------------

Private Sub CommandButton1_Click()

    TextBox1.Value = "safdasfgsdfgfhfgjhfjfghjfhjfg" _
& Chr() _
& "" _
& Chr() ' IF the text length is long enough, ENABLE the Textbox's scroll bar
TextBox1.SetFocus
' Set the current select line: 0
TextBox1.SelStart = End Sub

知识点:

ActiveX Textbox中的 TextBox1.Activate 和 Form Textbox的 TextBox1.SetFocus功能相同