يمكن استعمال هذا الكود(بدون حلقات تكرارية)
ريما يكون اسرع
Sub Salim_transfer()
Dim ws As Worksheet, Sh As Worksheet
Dim i As Long, LR As Long, LS As Long
Dim New_LR As Long
Dim My_Rg1 As Range
Dim My_Rg2 As Range
Application.ScreenUpdating = False
Set ws = Sheets("مشتريات")
Set Sh = Sheets("اضافه")
LR = Sh.Range("C" & Rows.Count).End(xlUp).Row
LS = ws.Range("C" & Rows.Count).End(xlUp).Row
If LS <= 6 Then MsgBox "Nothing to Copy": GoTo Leave_Me_Out
If LR < 2 Then LR = 2
Set My_Rg1 = ws.Range("a7:a" & LS)
Set My_Rg2 = ws.Range("b7:e" & LS)
With Sh.Range("b" & LR + 1).Resize(LS - 6, 1)
.Value = ws.Range("E2").Value
.Offset(, 1).Value = ws.Range("b4").Value
.Offset(, 2).Value = ws.Range("b3").Value
.Offset(, 3).Value = My_Rg1.Value
.Offset(, 4).Resize(LS - 6, 4).Value = My_Rg2.Value
End With
New_LR = Sh.Range("B" & Rows.Count).End(xlUp).Row
Sh.Range("a3:a5000").ClearContents
For i = 1 To New_LR - 2
Sh.Range("a" & i + 2) = i
Next
Leave_Me_Out:
Application.ScreenUpdating = True
End Sub