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

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

قام بنشر

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

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

كل ما اريده هو دمج مجموعة الاوامر في امر واحد

ملاحظة على ان يكون الكود ينقل البيانات ولو زاد عدد الملفات الخارجية دون الحاجة لتعديل الكود

11.rar

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

اخي الكريم تم اعادة رفع الكود

لدي ملفات خارجية عددها 26 ملف

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

من

A

ال

Z

الملاحظات

اولاً عند عدم وجود احد الملفات الخارجية سوف يظهر خطأ

ثانياً عند اضافة ملف خارجي اخر سوف لن يقوم بنسخ بياناته

كل ما اريده هو تعديل الكود نسخ البيانات من الملفات الخارجية مهما كان عدد الملفات 

 

11.rar

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

الملف المرفوع عبارة عن ملف نصي بداخله كود

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

قام بنشر

اخي العزيز ياسر

تم تقليص عدد المدارس وعدد الصفوف لتقليص الزخم في البرنامج

الملف داتا هو الملف الاساسي

الملفات المسماة بلاحرف هي الثانوية

اولا عليك نقل فولدر داتا الي البارتشن دي

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

دي ملفات خارجية عددها 4 ملف

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

من

A

ال

D

الملاحظات

اولاً عند عدم وجود احد الملفات الخارجية سوف يظهر خطأ

ثانياً عند اضافة ملف خارجي اخر سوف لن يقوم بنسخ بياناته

كل ما اريده هو تعديل الكود نسخ البيانات من الملفات الخارجية مهما كان عدد الملفات

data.rar

ملاحظة نسخة الاوفيس 2016

32 bit

قام بنشر

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

أعتذر للتأخير في الرد ، فأنت تعلم أن لكل منا ما يشغله

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

Sub CopyFromClosedWorbooks()
    Dim wb              As Workbook
    Dim folderPath      As String
    Dim fileName        As String
    Dim counter         As Double
    Dim i               As Integer
    Dim lr              As Long

    folderPath = "D:\Data\"
    fileName = Dir(folderPath & "*.xlsx")

    Application.ScreenUpdating = False
    Application.Calculation = xlManual
        Do While fileName <> ""
            If fileName <> ThisWorkbook.Name Then
                Set wb = Workbooks.Open(folderPath & fileName)
    
                With ThisWorkbook.Sheets("احصائية المدارس")
                    lr = .Cells(Rows.Count, 6).End(xlUp).Row + 1
                    .Range("B" & lr).Resize(1, 16).Value = wb.Worksheets(1).Range("B4:Q4").Value
                End With
    
                wb.Close SaveChanges:=False
            End If
            fileName = Dir()
        Loop
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True

    MsgBox "Done ...", 64
End Sub

 

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

اخي العزيز

انا اسف ازعجتك

الكود يقوم بفتح الملفات ولكن بدون ادراج البيانات بدون غلق ايضاَ

 

 

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

لقد جربت الكود ويقوم بفتح الملفات بدون تدخل منك ثم ينسخ اليبانات المطلوبة ويضعها في الملف الرئيسي Data .. لو أمكنك تصور فيديو أو تضع صور لما يحدث معك بالضبط لكي نستطيع تقديم المساعدة ...

الملفات في المجلد المسمى Data في البارتشن D

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