اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

لا جاجة للحاقات التكراراية 

استبدل الكود بهذا

Option Explicit
Sub transferData()

Dim LR1 As Long
Dim LR2 As Long
Dim sh1 As Worksheet: Set sh1 = Sheets("ورقة1")
Dim sh2 As Worksheet: Set sh2 = Sheets("ورقة2")

LR1 = sh1.Range("A" & Rows.Count).End(3).Row
LR2 = sh2.Range("A" & Rows.Count).End(3).Row + 1
 If LR2 = 2 Then LR2 = 1
 sh1.Cells(1, 1).Resize(LR1, 4).Copy
 
 With sh2.Cells(LR2, 1)
 .PasteSpecial 12
 .PasteSpecial -4122
 End With
Application.CutCopyMode = False
End Sub

الملف مرفق

 

TARHIL_SALIM.xlsm

قام بنشر

عندي استفسار اخير  عندما يتم الترحيل خصوصا بالفاتورة يتم ترحيل الارقام المتسلسلة 1و2و3 ويتاجاهل الفارغة في الكود الاول اما كودك  فلا  هل من حل بحيث يتم ترحيل  الفاتورة التي تحتوي  على ارقام متسلسلة  فقط وتجاهل الصفوف التي لا تحتوي على ارقام تسلسلية 

قام بنشر

تم معالجة الامر

Option Explicit
Sub transferData_New()

Dim LR1 As Long
Dim LR2 As Long
Dim sh1 As Worksheet: Set sh1 = Sheets("ورقة1")
Dim sh2 As Worksheet: Set sh2 = Sheets("ورقة2")
Dim x%
LR1 = sh1.Range("A" & Rows.Count).End(3).Row
LR2 = sh2.Range("A" & Rows.Count).End(3).Row + 1

 If LR2 = 2 Then LR2 = 1

 x = sh1.Range("a1:D" & LR1). _
 Find("", after:=sh1.Cells(13, 1)).Row - 1
 
 sh1.Cells(1, 1).Resize(x, 4).Copy
 
  With sh2.Cells(LR2, 1)
 .PasteSpecial 12
 .PasteSpecial -4122
 End With
 sh1.Cells(LR1, 1).Resize(, 4).Copy
  
  With sh2.Cells(x + 1, 1)
 .PasteSpecial 12
 .PasteSpecial -4122
 .Cells(x - 15, 4).Value = _
  sh1.Cells(x + 1, 4).Value
 End With

Application.CutCopyMode = False
End Sub

 

 

قام بنشر
48 دقائق مضت, عبدالفتاح محمد said:

مشكور على مجهودك الطيب ولكن خانة الاجمالي لم ترحل 

ورد خطأ بسيط في الكود (سطر زيادة )

 الكود من جديد

Option Explicit
Sub transferData_New()

Dim LR1 As Long
Dim LR2 As Long
Dim sh1 As Worksheet: Set sh1 = Sheets("ورقة1")
Dim sh2 As Worksheet: Set sh2 = Sheets("ورقة2")
Dim x%
LR1 = sh1.Range("A" & Rows.Count).End(3).Row
LR2 = sh2.Range("A" & Rows.Count).End(3).Row + 1

 If LR2 = 2 Then LR2 = 1

 x = sh1.Range("a1:D" & LR1). _
 Find("", after:=sh1.Cells(13, 1)).Row - 1
 
 sh1.Cells(1, 1).Resize(x, 4).Copy
 
  With sh2.Cells(LR2, 1)
 .PasteSpecial 12
 .PasteSpecial -4122
 End With
 sh1.Cells(LR1, 1).Resize(, 4).Copy
  
  With sh2.Cells(x + 1, 1)
 .PasteSpecial 12
 .PasteSpecial -4122
Rem .Cells(x - 15, 4).Value = _
  sh1.Cells(x + 1, 4).Value
 End With

Application.CutCopyMode = False
End Sub

 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information