اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ربط ملفات الأكسل المستقبلية في ملف واحد


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

تحياتي يا كرام

أسعد الله اوقاتكم بكل خير وبعد

من المعروف إن طريقة ربط ملفات الأكسل بملف اكسل واحد هو أمر سهل و لا صعوبة فيه

ولكن لدي حالة 

لنفرض لدي مجلد يحتوي على اربعة ملفات اكسل وملف اكسل خامس (اسمه (س) مثلاً)يجمع نتائج الأربعة بطريقة معينة

السؤال 

هل يوجد طريقة يستطيع الملف (س) أن يجمع الملفات التي سوف اضيفها مستقبلاً دون العودة لربط الملفات الجديدة

الصورة في الأسف تبين الفكرة

أيضاً من أنا جاهز لأقراء صفحات او اتابع فيديو او ابحث اكثر أن كان هناك عنوان لحالتي

 

ولكم جزيل الشكر والمودة

2.png

رابط هذا التعليق
شارك

ملاحظة يا أفاضل

قمت بترجيب الكود البرمجي

Sub SUM_WBs()

    Dim FileNameXls As Variant, i As Integer, wb As Workbook
    
    'ChDir = "C:\Temp\"      'Default directory
    
    FileNameXls = Application.GetOpenFilename(filefilter:="Excel Files, *.xl*", MultiSelect:=True)
    If Not IsArray(FileNameXls) Then Exit Sub    ' User cancelled
    
    Application.ScreenUpdating = False
    
    For i = LBound(FileNameXls) To UBound(FileNameXls)
    
        Set wb = Workbooks.Open(FileNameXls(i))
        wb.Sheets(1).Range("D4:S21").Copy
        ThisWorkbook.Sheets(1).Range("D4:S21").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks:=True, Transpose:=False
        Application.CutCopyMode = False
        wb.Close SaveChanges:=False
        
    Next i
    
    Application.ScreenUpdating = True
    
End Sub

 

وهو مفيد لحالتي ولكن لملفات اكسل موجودة

ولكن سؤالي في حال أردت انشاء ملفات اكسل جديدة واردت أن يقوم الكود في الأعلى بأخذ الملفات المنشئة حديئاً بشكل اوتوماتيكي دون تغيير الـ directory

رابط هذا التعليق
شارك

أخي الكريم كمال

أهلاً بك في المنتدى ونورت المنتدى

يرجى وضع ملفاتك أو نماذج منها في مجلد ثم ضغطه ورفعه ليسهل العمل على المطلوب .. وهل كل الملفات ستكون في مجلد واحد مع المجلد الرئيسي س الذي يعتبر تجميع للملفات الأخرى ...

تقبل تحياتي

رابط هذا التعليق
شارك

تحياتي استاذ ياسر الغالي

وأشكر مرورك وطلباتك على العين والرأس

المجلد المرفق هو توضيح للحالة 

وبالنسبة لسؤالك الكريم فالجواب نعم ستكون كل الملفات في مجلد واحد مع المجلد الرئيسي س

ملاحظة

يوجد في المجلد المرفق يوجد اربعة ملفات اكسل وملف اكسل خامس اسمة (س)

في كل ملف من الملفات الاربعة يوجد في الخلية A1 الرقم 10

أما في ملف الاكسل (س) يوجد في الخلية A1 الرقم 40  والذي يعتبر عبارة عن تجميع الرقم 10 من ملف الاكسل 1 و 2 و 3 و 4 أي 40*10=40

وذلك بعد تطبيق الكود البرمجي السابق 

 

سؤالي هو 

اود الان إضافة ملف اكسل جديد 

وأود من ملف الاكسل (س) أن يجمع مافي الخلية A1 إضافة على ما سبق

هل  من طريقة عندما انشئ اي ملف مستقبلاً  ان يتم الحساب بشكل اتوماتيكي في الملف (س)  دون الدخول مرة ثانية  إلى الكود وتغيير directory

 

مجلد نون.rar

رابط هذا التعليق
شارك

أخي الكريم كمال

هل أنت متأكد من عمل الكود الذي قمت بإرفاقه لأن الكود المرفق يقوم بعمل حلقة تكرارية لملفات تختارها ثم يقوم بنسخ نطاق محدد

عموماً جرب الكود التالي سيتم تنفيذه بمجرد فتح الملف الرئيسي س ..

Sub SUM_WBs()
    Dim WBK         As Workbook
    Dim FolderPath  As String
    Dim FileName    As String
    Dim Counter     As Double
    
    FolderPath = ThisWorkbook.Path & "\"
    FileName = Dir(FolderPath & "*.xl*")
    
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    
        Do While FileName <> ""
            If FileName <> ThisWorkbook.Name Then
                Set WBK = Workbooks.Open(FolderPath & FileName)
                Counter = Counter + WBK.Sheets("Sheet1").Range("A1").Value
                WBK.Close SaveChanges:=False
            End If
            FileName = Dir()
        Loop
        
        ThisWorkbook.Sheets("Sheet1").Range("A1").Value = Counter
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
End Sub

وإليك الملف المرفق

 

Loop Through Closed Workbooks To Sum Specific Cell YasserKhalil.rar

  • Like 3
رابط هذا التعليق
شارك

أستاذ ياسر الغالي

أسعد الله اوقاتكم بكل سرور

وجزاكم الله كل خير

الملف المرسل من حضرتكم يعمل وعند الإضافة فإنه يضيف ولا مشكلة

ولكن الان أريد معرفة كيفية تغيير FolderPath & FileName وذلك في حال أردت إنشاء مجلد وملفات لها تسمية جديدة غير (book1) وملف اساسي غير (س)

وسؤال أخر بعد إذنكم :

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

لا يسعني في النهاية إلا أن أدعو الله لكم بالخير والتوفيق على تعاونكم الطيب والكريم

والسلام ختام

رابط هذا التعليق
شارك

ملاحظة :

تم حفظ الكود بشكل ماكرو وهو يعمل 

ولكن سؤال على ماسبق

1- كيف يمكن جعل الماكرو يشغل تلقائياً عند فتح الملف

2- السؤال الثاني هو ذاته : 

ولكن الان أريد معرفة كيفية تغيير FolderPath & FileName وذلك في حال أردت إنشاء مجلد وملفات لها تسمية جديدة غير (book1) وملف اساسي غير (س)

لأني واجهة مشكلة عند تسمية ملفات الأكسل باللغة العربية .. (لا يعمل الكود)

رابط هذا التعليق
شارك

أخي الكريم كمال

بالنسبة لسؤالك الأول كيف يمكن جعل الماكرو يعمل تلقائياً عن فتح المصنف .. قم بالإطلاع على المرفق في المشاركة الأخيرة لي وادخل على نافذة المشروع ودبل كليك على ThisWorkbook لتجد الكود المناسب .. يتم وضع الكود في حدث المصنف

بالنسبة لسؤالك الثاني يمكنك تغيير المسار من خلال السطر التالي في الكود (في السطر يتم التعامل مع المصنفات في نفس المسار الحالي للمصنف)

FolderPath = ThisWorkbook.Path & "\"

أما عن عدم عمل الكود مع المسميات العربية فربما تكون أسماء أوراق العمل لديك باللغة العربية ..فيجب تغيير كلمة Sheet1 في الكود والتي تقع بين أقواس تنصيص بكلمة ورقة1

لو واجهتك أي مشكلة قم بإرفاق ملفك الذي به المشكلة ليسهل الإطلاع على المشكلة وتوجيهك نحو التعديل المناسب

تقبل تحياتي

  • Like 1
رابط هذا التعليق
شارك

الحمد لله الذي بنعمته تتم الصالحات

والحمد لله أن تم المطلوب على خير أخي الفاضل كمال

تقبل تحياتي

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information