السلام عليكم
بإمكانك إستخدام التالي بدلاً عن الاول بحيث يسهل فهم المعادلات المستخدمة
Private Sub TextBox1_Change()
Ali_S
End Sub
Private Sub TextBox2_Change()
Ali_S
End Sub
Private Sub TextBox3_Change()
Ali_S
End Sub
Sub Ali_S()
If TextBox1 <> "" And TextBox2 <> "" And TextBox3 <> "" Then
If TextBox1 = 3 Then
TextBox4 = Se(Range("tabl1"), TextBox2, Range("tabl2"), TextBox3)
End If
End If
End Sub
Function Se(Tb1 As Range, V1 As Integer, Tb2 As Range, V2 As Integer)
Dim M1, M2
On Error Resume Next
With WorksheetFunction
' بحث بالعمود الاول للجدول1
' لارجاع رقم الصف
M1 = .Match(V1, Tb1.Columns(1), 0)
' بحث الجدول2 لارجاع رقم العمود
M2 = .Match(V2, Tb2, 0)
' دالة Index ' لارجاع قيمة تقاطع صف مع عمود معين
Se = .Index(Tb1, M1, M2)
End With
On Error GoTo 0
End Function
البحث في جدول2.xlsm