excel vba点击按钮查询文本框中内容在sheet2表中对应的数据,并显示在列表框控件中
时间: 2024-05-12 22:18:05 浏览: 216
你好,我看到你的问题了。关于你的问题,我可以给你一个 VBA 代码片段,它可以实现你所描述的操作:
```
Private Sub CommandButton1_Click()
Dim lookFor As String
Dim r As Range
Dim l As Long
lookFor = TextBox1.Value
Listbox1.Clear
With Sheets("Sheet2")
Set r = .Range("A1", .Range("A1").End(xlDown))
End With
For Each c In r
If c.Value = lookFor Then
Listbox1.AddItem c.Offset(0, 1).Value
End If
Next c
End Sub
```
你可以将这段代码复制到你的 Excel 的 VBA 窗口中,然后在 Sheet2 中设置一个名为 "A" 的列作为查找列,在 UserForm 中添加一个名为 "TextBox1" 的文本框,以及一个名为 "Listbox1" 的列表框,最后在按钮 "CommandButton1" 的 Click 事件中调用这段代码即可。
希望我的回答可以帮到你!
相关问题
excel vba点击按钮查询文本框中内容在sheet2表中对应的多列数据,并显示在列表框控件中
可以的,你需要编写一段VBA代码,在按钮的click事件中实现这个功能。具体实现方法可以参考以下示例代码:
Private Sub btnSearch_Click()
'获取要查询的关键字
Dim strKeyword As String
strKeyword = Trim(Me.txtKeyword.Value)
'清空列表框控件
Me.lstResult.Clear
'遍历Sheet2中的数据
Dim i As Long
Dim j As Long
Dim lastRow As Long
lastRow = Sheet2.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
'判断当前行是否包含关键字
Dim found As Boolean
found = False
For j = 1 To 3
If InStr(1, Sheet2.Cells(i, j).Value, strKeyword, vbTextCompare) > 0 Then
found = True
Exit For
End If
Next j
'如果包含,则将该行数据添加到列表框控件中
If found Then
Me.lstResult.AddItem Sheet2.Cells(i, 1).Value & vbTab & Sheet2.Cells(i, 2).Value & vbTab & Sheet2.Cells(i, 3).Value
End If
Next i
End Sub
这段代码会遍历Sheet2表中的数据,判断每一行中是否包含查询的关键字,如果包含则将该行数据添加到列表框控件中。你可以根据具体需求对代码进行修改。
阅读全文