从文本框文本VBA自动填充列表框

时间:2019-11-12 14:49:53

标签: excel vba userform

我希望有一个用户窗体,其中将文本键入textbox1,可能会填充与“数据”工作表中的文本匹配的值listbox1,对于textbox2和{{1 }}。目前,当我输入listbox2时,它会用打开的工作表中A列的值填充textbox1,而不是工作表“ Data”。

listbox2

编辑:我最终使用的内容:

Private Sub TextBox1_Change()
Dim i As Integer, ws As Worksheet
ListBox1.Visible = True

Set ws = Sheets("Data")
    For i = 2 To Sheets("Data").Range("D6000").End(xlUp).Row
        If UCase(Left(ws.Cells(i, 1), Len(TextBox1.Text))) = UCase(TextBox1.Text) Then
            ListBox1.AddItem Cells(i, 1)
            End If
            Next i
End Sub

Private Sub TextBox2_Change()
Dim i As Integer, ws As Worksheet
ListBox2.Visible = True
Set ws = Sheets("Data")
    For i = 2 To Sheets("Data").Range("B6000").End(xlUp).Row
        If UCase(Left(ws.Cells(i, 1), Len(TextBox2.Text))) = UCase(TextBox2.Text) Then
            ListBox2.AddItem Cells(i, 1)
            End If
            Next i
End Sub

1 个答案:

答案 0 :(得分:0)

使用ws.Cells(i, 1)代替Cells(i, 1)
另外,是否应该将与ListBox2有关的部分移至TextBox2_Change()