Я хочу искать данные на основе номера столбца "C".
Option Explicit
Private Sub TextBox1_Change()
Me.TextBox1 = Format(StrConv(Me.TextBox1, vbUpperCase))
Dim sh As Worksheet
Set sh = Sheets("Sheet2")
Dim i As Long
Dim x As Long
Dim p As Long
Me.ListBox1.Clear
'Display Header
Me.ListBox1.AddItem "Product Name"
Me.ListBox1.List(ListBox1.ListCount - 1, 1) = "HSN Code"
Me.ListBox1.List(ListBox1.ListCount - 1, 2) = "Quantity"
Me.ListBox1.List(ListBox1.ListCount - 1, 3) = "Rate"
Me.ListBox1.List(ListBox1.ListCount - 1, 4) = "GST"
Me.ListBox1.List(ListBox1.ListCount - 1, 5) = "Total"
Me.ListBox1.Selected(0) = True
For i = 2 To sh.Range("B" & Rows.Count).End(xlUp).Row
For x = 1 To Len(sh.Cells(i, 2))
p = Me.TextBox1.TextLength
If UCase(Mid(sh.Cells(i, 2), x, p)) = Me.TextBox1 And Me.TextBox1 <> "" Then
With ListBox1
.AddItem sh.Cells(i, 2)
.List(ListBox1.ListCount - 1, 1) = sh.Cells(i, 3)
.List(ListBox1.ListCount - 1, 2) = sh.Cells(i, 4)
.List(ListBox1.ListCount - 1, 3) = sh.Cells(i, 5)
.List(ListBox1.ListCount - 1, 4) = sh.Cells(i, 6)
.List(ListBox1.ListCount - 1, 5) = sh.Cells(i, 7)
End With
End If
Next x
Next i
End Sub
На основе первого столбца "B" Отображается результат.
Я хочу искать на основе столбца "C".
Excel лист2 Данные:
При вводе в текстовое поле HSN1 Данные должны отображаться в Listbox, а не на основе AB.
Мой вывод: Когда я ввожу HSN2 в Textbox
Выход: