وعليكم السلام أخي الكريم صلاح
جرب الكود التالي عله يفي بالغرض إن شاء الله
الكود طويل مراعاةً لتجنب أي أخطاء
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x, y, v
If Target.Cells.CountLarge > 1 Then Exit Sub
If Target.Address = "$D$3" Or Target.Address = "$G$3" Then
Application.EnableEvents = False
Application.ScreenUpdating = False
With Range("B5").Resize(Rows.Count - 4)
.ClearContents: .Borders.Value = 0
End With
x = Range("D3").Value
y = Range("G3").Value
If IsNumeric(x) And IsNumeric(y) And x <= y Then
v = Evaluate("ROW(" & x & ":" & y & ")")
With Range("B5").Resize(UBound(v))
.Value = v
.Borders.Value = 1
End With
End If
Target.Select
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
End Sub