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

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

قام بنشر (معدل)

الملف المرفق انا موضح مثال فيه 

عايز امر يجمعلي كل بيانات الوارد في شيت الوارد وكل بيانات المنصرف في شيت المنصرف  من كل الشيتات الموجوده في الملف 
أرجوو المساعده الحمد لله سيبت الشغل وروحت شغل جديد وعندي اكتر من 150 ملف المفروض اجمع البيانات شكلي هسيبه هو كمان بسبب ضغط الشغل 
الملف مرفق 
جعله الله في موازين حسناتكم 

Book1.xlsx

تم تعديل بواسطه محمد عبد الناصر
قام بنشر

السلام عليكم ورحمة الله

الكود الاول للوارد :

Sub ImpData()
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Dim LR As Long, i As Long, j As Long, p As Long, x As Integer
Set ws = Sheets("وارد")
For Each Sh In Sheets(Array("غيار رولة دهان كبيره ", "يد رولة دهان كبيره"))
Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If Arr(i, 2) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 2, 1, 17, 3, 13))
Next
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
Next
End Sub

والكود الثانى للمنصرف :

Sub ExpData()
Range("A5:E1000").ClearContents
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Dim LR As Long, i As Long, j As Long, p As Long, x As Integer
Set ws = Sheets("منصرف")
For Each Sh In Sheets(Array("غيار رولة دهان كبيره ", "يد رولة دهان كبيره"))

Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If Arr(i, 6) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 6, 5, 17, 9, 13))
Next
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
Next

End Sub

 

  • Like 2
قام بنشر
10 hours ago, ابراهيم الحداد said:

السلام عليكم ورحمة الله

الكود الاول للوارد :


Sub ImpData()
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Dim LR As Long, i As Long, j As Long, p As Long, x As Integer
Set ws = Sheets("وارد")
For Each Sh In Sheets(Array("غيار رولة دهان كبيره ", "يد رولة دهان كبيره"))
Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If Arr(i, 2) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 2, 1, 17, 3, 13))
Next
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
Next
End Sub

والكود الثانى للمنصرف :


Sub ExpData()
Range("A5:E1000").ClearContents
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Dim LR As Long, i As Long, j As Long, p As Long, x As Integer
Set ws = Sheets("منصرف")
For Each Sh In Sheets(Array("غيار رولة دهان كبيره ", "يد رولة دهان كبيره"))

Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If Arr(i, 6) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 6, 5, 17, 9, 13))
Next
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
Next

End Sub

 

بااااااارك الله فيك  كود ممتاااز جدااااااااا ونفعني اوي 
بس في حاجه بسيطه انا اسف 
مش هعرف اضيف كل الشيتات في الكود انا عايز يجمع كل الوارد من غير ما اكتب اسم الشيت في الكود لان عندي اكتر من 500 ملف 

وفي حاجه تانيه لو دوست على الامر تاني بيكرر البيانات 
مش عايزه يكرر البيانات المكتوبه

جعله الله في موازين حسناتك يارب

قام بنشر

السلام عليكم ورحمة الله

استبدل الكودين السابقين بهذين الكودين و اخبرنى بالنتيجة

الكود الاول   :

Sub ImpData()
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant
Dim LR As Long, i As Long, j As Long, p As Long, x As Integer
Set ws = Sheets("وارد")
For Each C In ws.Range("B5:B10000")
x = WorksheetFunction.CountIf(ws.Range("B5:B10000"), C.Value)
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "وارد" Or Sh.Name <> "منصرف" Then
Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If x > 0 Then
MsgBox "عفوا  توجد بيانات قد تم ترحيلها من قبل سوف يتم الغاء العملية"
Exit Sub
Else
If Arr(i, 2) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 2, 1, 17, 3, 13))
Next
End If
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
End If
Next
Next
End Sub

الكود الثانى :

Sub ExpData()
Range("A5:E1000").ClearContents
Dim ws As Worksheet, Sh As Worksheet
Dim Arr As Variant, Tmp As Variant, x As Variant, C As Range
Dim LR As Long, i As Long, j As Long, p As Long
Set ws = Sheets("منصرف")
For Each C In ws.Range("B5:B10000")
x = WorksheetFunction.CountIf(ws.Range("B5:B10000"), C.Value)
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name <> "وارد" Or Sh.Name <> "منصرف" Then
Arr = Sh.Range("A10:Q100").Value
ReDim Tmp(1 To UBound(Arr, 1), 1 To UBound(Arr, 2))
For i = 1 To UBound(Arr, 1)
If x > 0 Then
MsgBox "عفوا  توجد بيانات قد تم ترحيلها من قبل سوف يتم الغاء العملية"
Exit Sub
Else
If Arr(i, 6) <> "" Then
p = p + 1
For j = 1 To 5
Tmp(p, j) = Arr(i, Choose(j, 6, 5, 17, 9, 13))
Next
End If
End If
Next
LR = ws.Range("C" & Rows.Count).End(xlUp).Row
If p > 0 Then ws.Range("A" & LR + 1).Resize(p, 5).Value = Tmp
p = 0
End If
Next
Next
End Sub

 

  • Like 1
  • Thanks 1
قام بنشر (معدل)


طيب ممكن حضرتك تطبقهالي على الملف ده وانا اطبقها على بقيت الملفات عندي اسف جدااااا لتعب حضرتك والله في ميزان حسناتك

هو بياخد من اخر شيت للي بعده 
انا عايزه ياخد من اول شيت مش من الاخر وبيطلع بيانات في الاخر مش عارف بتاعت ايه 

MD.xlsm

تم تعديل بواسطه محمد عبد الناصر
قام بنشر

الف الف الف الف شكرررررر ليح استاااذ ابراهيم الحداد والله م عارف اقولك ايه 

الحمد لله عدلت على الملف وكله تمام عندي 

وبكره هخلص الشغل 

لولا فضلك وتكرمك بالمساعده كان زمان لسه قدامي شهريييين اف اف شكر 

قام بنشر

السلام عليكم ورحمة الله

بارك الله فيك اخى الكريم و لا شكر على واجب

و الله فى عون العبد مادام العبد فى عون اخيه

اذا حدث و اكتشفت اى عيوب فى الملف الرجاء فتح موضوع جديد

حتى لا يتوه الموضوع بين الموضوعات  بعد فترة من الزمن

قام بنشر (معدل)
40 minutes ago, ابراهيم الحداد said:

السلام عليكم ورحمة الله

بارك الله فيك اخى الكريم و لا شكر على واجب

و الله فى عون العبد مادام العبد فى عون اخيه

اذا حدث و اكتشفت اى عيوب فى الملف الرجاء فتح موضوع جديد

حتى لا يتوه الموضوع بين الموضوعات  بعد فترة من الزمن

ماشاء الله عليك يارب يبارك فيك ويزيدك من علمه 

نفسي ابقى زيك ف الاكواد ازاي ابدء وحده وحده واتعلم حتى الاحتراف 

تم تعديل بواسطه محمد عبد الناصر

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