”每列的标题 能不能显示在 listbox框里面?“
换成下面的代码就行了:
- Sub 查询()
- Dim arr, i%, j%, iR%, brr(), k%, atmp()
- arr = Range("a1:f" & Range("a65536").End(3).Row)
- iR = UBound(arr)
- ReDim Preserve brr(1 To 5, 0 To 0)
- brr(1, 0) = arr(1, 1): brr(2, 0) = arr(1, 2): brr(3, 0) = arr(1, 4)
- brr(4, 0) = arr(1, 5): brr(5, 0) = arr(1, 6)
- With UserForm1
- For i = 2 To iR
- For j = 1 To 3
- If InStr(arr(i, j), .TextBox1.Text) Then
- k = k + 1
- ReDim Preserve brr(1 To 5, 0 To k)
- brr(1, k) = arr(i, 1)
- brr(2, k) = arr(i, 2)
- brr(3, k) = arr(i, 4)
- brr(4, k) = arr(i, 5)
- brr(5, k) = arr(i, 6)
- Exit For
- End If
- Next
- Next
-
- If k = 0 Then MsgBox "没有查询到符合条件的数据!", vbCritical, "错误提示": Exit Sub
-
- With .ListBox1
- .ColumnCount = 5
- .ColumnWidths = "50,169,90,90,80"
- .List = Application.Transpose(brr)
- End With
- End With
- End Sub
复制代码 |