الأخ الصقر
أعتقد أن الكود بها الشكل سيشكل إرهاقا في حالة العمل في ورقة العمل حيث أن الحدث يعمل في حالة تحديد أي خلية ..يمكن تقنين الكود بهذا الشكل بحيث يعمل فقط في حالة تحديد أي خلية في خلايا النطاق المطلوب
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Rng = Union(Range("F4:F7"), Range("G4:G7"), Range("I4:I7"))
If Not Intersect(Target, Rng) Is Nothing Then
With Sheets("XYZ").Range("F4:F7")
.Formula = "=SUMIF($B$4:$C$14,E4,$C$4:$C$14)"
.Value = .Value
End With
With Sheets("XYZ").Range("G4:G7")
.Formula = "=COUNTIF($B$4:$B$14,E4)"
.Value = .Value
End With
With Sheets("XYZ").Range("I4:I7")
.Formula = "=VLOOKUP(E4,$E$4:$H$7,4,0)"
.Value = .Value
End With
End If
End Sub