【问题标题】:Text box by default shouldnt scroll to the end默认情况下,文本框不应滚动到末尾
【发布时间】:2016-05-08 03:59:21
【问题描述】:

我在 VBA 中的文本框,默认滚动到底部。我不想要这个。当用户窗体显示时,我希望滚动条保持在顶部。

解决方案?

【问题讨论】:

    标签: vba excel textbox


    【解决方案1】:

    在UserForm的Initialize事件中,使用.SelStart将光标的起点设置为TextBox的起点

    例如。

    Private Sub UserForm_Initialize()
        Dim sSample As String
        Dim i As Long
    
        For i = 1 To 10
            sSample = sSample & "Blah Blah" & i & vbNewLine
        Next i
    
        TextBox1.Text = sSample
    
        '~~> Set to starting point
        TextBox1.SelStart = 0
    End Sub
    

    【讨论】:

    • 这行得通,但是一旦你点击文本框,它就会自动滚动到底部。
    • 不,它不适合我。
    • @vardhanamdaga:我只是想到了一些事情。文本是连续的一行吗?您是否使用vbNewLine 作为换行符?
    • 是的,使用 vbNewLine 作为分隔符。这就是它下降的原因吗?
    • 没有。它不应该下降,我无法重现它。你用的是哪个excel版本?我也可以看看你的 excel 文件吗?
    【解决方案2】:

    在UserForm的Initialize事件中,可以使用textbox1.curline=0

    Private Sub UserForm_Initialize()

    TextBox1.SetFocus ' to make next line work, first we must set focus on Textbox
    TextBox1.CurLine = 0
    

    结束子

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2012-06-16
      • 2020-10-09
      • 1970-01-01
      • 2012-02-13
      相关资源
      最近更新 更多