وعليكم السلام ورحمة الله وبركاته
استخدم هذا
CODE
Sub MyIndexMatch()
Range("B7").Formula = "=IFERROR(INDEX(Data2,MATCH(BL7,Day,0),MATCH(B6,B6:G6,0)),"""")"
End Sub
أو هذا الكود
CODE
Sub MyIndexMatch()
Dim Data2 As Range
Dim Day As Range
Dim Result As Variant
Dim Match1 As Variant
Dim Match2 As Variant
Set Data2 = Range("Data2") ' تعيين مجال البيانات Data2
Set Day = Range("Day") ' تعيين مجال البيانات Day
Match1 = Application.Match(Range("BL7"), Day, 0) ' العثور على الصف الذي يتطابق مع BL7
Match2 = Application.Match(Range("B6"), Range("B6:G6"), 0) ' العثور على العمود الذي يتطابق مع B6
If Not IsError(Match1) And Not IsError(Match2) Then ' التأكد من وجود تطابق في الصف والعمود
Result = Application.Index(Data2, Match1, Match2) ' إرجاع القيمة المطلوبة باستخدام INDEX و MATCH
Range("B7").Value = Result ' وضع القيمة المحسوبة في الخلية B7
Else
Range("B7").Value = "" ' في حالة عدم العثور على تطابق، يتم وضع قيمة فارغة في الخلية B7
End If
End Sub