السلام عليكم
إن وقع خطأ في الكود السابق يرجى تغييره بالكود التالي
Sub HH()
Dim m As Range
For Each m In ورقة2.Range("F3:F1000")
If m.Text Like ورقة1.Range("R3").Text Then
MsgBox "رقم هذه الفاتورة موجود مسبقا", vbCritical, "خطأ"
Exit Sub
End If
Next
'----------------------------------------------------------------------------
Application.ScreenUpdating = False
LR = ورقة1.Cells(Rows.Count, "Q").End(xlUp).Row + 1
x = 3
LR1 = ورقة2.Cells(Rows.Count, "E").End(xlUp).Row - 2
For i1 = 2 To LR
If ورقة1.Cells(i1, 17).Text <> "" Then
ورقة1.Range("q" & i1).Resize(1, 20).Copy
ورقة2.Range("E" & LR1 + x).PasteSpecial xlPasteValues
x = x + 1
End If
Next
Application.ScreenUpdating = True: Application.CutCopyMode = False
MsgBox "تم ترحيل البيانات بنجاح", vbInformation, "ترحيل"
'--------------------------------------------------------------------------------------
For i = ورقة2.Range("F" & Rows.Count).End(xlUp).Row To 1 Step -1
If WorksheetFunction.CountIf(ورقة2.Range("F1:F" & i), ورقة2.Range("F" & i).Value) > 1 Then
ورقة2.Range("F" & i) = ""
End If
Next i
ورقة2.Select
End Sub[/font]
[font=arial,helvetica,sans-serif]