السلام عليكم
جرب هذا
Private Sub ListBox1_Click()
ComboBox1.ListIndex = ListBox1.ListIndex
LASTROW = Sheets("DB1").Cells(Rows.Count, "A").End(xlUp).Row + 1
LASTROW2 = Sheets("DB2").Cells(Rows.Count, "A").End(xlUp).Row + 1
If Left(ComboBox1.Text, 1) = "a" Then
For i = 1 To LASTROW2
F = Right(ComboBox1.Text, Len(ComboBox1.Text) - 1)
If Sheets("DB2").Cells(i, 1) = Val(Right(ComboBox1.Text, Len(ComboBox1.Text) - 1)) Then
For R = 2 To 5
Me.Controls("TextBox" & R).Value = Sheets("DB2").Cells(i, R).Value
Next
End If
Next
Else
For i = 1 To LASTROW
If Sheets("DB1").Cells(i, 1) = ComboBox1.Text Then
For R = 2 To 5
Me.Controls("TextBox" & R).Value = Sheets("DB1").Cells(i, R).Value
Next
End If
Next
End If
End Sub
Private Sub TextBox1_Change()
Dim LASTROW As Long
Dim i As Integer, T As Integer
Dim MYSH As Worksheet
Dim v As Integer
Dim M As String
Dim q, F As String
ListBox1.Clear
ComboBox1.Clear
M = TextBox1.Value
Set DADA = Sheets("DB1")
With DADA
LASTROW = .Cells(.Rows.Count, "A").End(xlUp).Row
Set q = .Range("B2:B" & LASTROW).Find(M)
If Not q Is Nothing Then
F = q.Address
Do
If Application.WorksheetFunction.Search(M, q, 1) = 1 Then
ComboBox1.AddItem q.Offset(0, -1).Value
ListBox1.AddItem q.Value
ListBox1.List(v, 1) = q.Offset(0, 1).Value
'ListBox1.List(v, 2) = q.Offset(0, 2).Value
ListBox1.List(v, 2) = q.Offset(0, 3).Value
v = v + 1
End If
Set q = .Range("B2:B" & LASTROW).FindNext(q)
Loop While Not q Is Nothing And q.Address <> F
End If
End With
Set DADA = Sheets("DB2")
With DADA
LASTROW = .Cells(.Rows.Count, "A").End(xlUp).Row
Set q = .Range("B2:B" & LASTROW).Find(M)
If Not q Is Nothing Then
F = q.Address
Do
If Application.WorksheetFunction.Search(M, q, 1) = 1 Then
ComboBox1.AddItem "a" & q.Offset(0, -1).Value
ListBox1.AddItem q.Value
ListBox1.List(v, 1) = q.Offset(0, 1).Value
'ListBox1.List(v, 2) = q.Offset(0, 2).Value
ListBox1.List(v, 2) = q.Offset(0, 3).Value
v = v + 1
End If
Set q = .Range("B2:B" & LASTROW).FindNext(q)
Loop While Not q Is Nothing And q.Address <> F
End If
End With
End Sub
تحياتي