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

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

قام بنشر

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

كل عام والجميع بالف صحة وسلامة , عيد سعيد للجميع

لدي عدد 97 ملف إكسل منفصل داخل فولدر , هذه الملفات عبارة عن بيانات للاصناف وكمياتها الواردة للمستودعات لدي , بعض هذه الاصناف متكرره في بعض الملفات

أرغب بتجميع تلك الملفات و الاصناف وكميتها بحيث تكون في ملف واحد , بحيث يكون في ملف التجميع رقم الصنف وامامة المجموع الكلي للكميات الواردة 

 

يوجد مثال في المرفقات

 

اتمني ان اكون وفقت في ايصال الاستفسار بشكل دقيق 

 

شاكر لكم مقدما

 

2020-08-02_020947.png

1.xlsx 2.xlsx 3.xlsx 4.xlsx TOTAL.xlsx

قام بنشر

تسلم الايادي استاذ ابو الحسن

 

- الملف الي اضفته يقوم بتجميع كل ملف إكسل في ملف واحد ولكن كل ملف يقوم بوضعة في شيت مستقل

- الذي ابحث عنه هو ان يقوم بتجميعهم بملف واحد وشيت واحد 

 

- لقت قمت بتجميع الملفات كلها في ملف وشي واحد يدويا لقد اخذت مني جهد ووقت ولكني مضطر لعمل ذالك

 

- السؤال الان يوجد في الشيت اصناف متكرره بأعداد مختلفه, كيف اقوم بدمج هذه الاصناف بحيث يكون صنف واحد وامامه المجموع لكلي ؟

  • أفضل إجابة
قام بنشر

جرب هذا  الكود  لعله  يفي  بالغرض 

Sub Consolidation()

Dim CurrentBook As Workbook
Dim WS As Worksheet
Set WS = ThisWorkbook.Sheets("sheet1")
Dim IndvFiles As FileDialog
Dim FileIdx As Long
Dim i As Integer, x As Integer

Set IndvFiles = Application.FileDialog(msoFileDialogOpen)
With IndvFiles
    .AllowMultiSelect = True
    .Title = "Multi-select target data files:"
    .ButtonName = ""
    .Filters.Clear
    .Filters.Add ".xlsx files", "*.xlsx"
    .Show
End With

Application.DisplayAlerts = False
Application.ScreenUpdating = False

For FileIdx = 1 To IndvFiles.SelectedItems.Count
    Set CurrentBook = Workbooks.Open(IndvFiles.SelectedItems(FileIdx))
    For Each Sheet In CurrentBook.Sheets
        Dim LRow1 As Long
        LRow1 = WS.Range("A" & WS.Rows.Count).End(xlUp).Row
        Dim LRow2 As Long
        LRow2 = CurrentBook.ActiveSheet.Range("A" & CurrentBook.ActiveSheet.Rows.Count).End(xlUp).Row

        Dim ImportRange As Range
        Set ImportRange = CurrentBook.ActiveSheet.Range("A2:d" & LRow2)

        ImportRange.Copy
        WS.Range("A" & LRow1 + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Next
    CurrentBook.Close False
Next FileIdx

Application.DisplayAlerts = True
Application.ScreenUpdating = True


End Sub

 

  • Like 2
  • Thanks 2

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