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

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


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

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

إخواني وأحبابي في الله

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

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

إليكم الطريقة :

قم بعمل مصنف وليكن باسم Sample.xlsx وضع به بعض البيانات في الـ 10 صفوف الأولى وفي الـ 10 أعمدة الأولى (هذا هو النطاق الذي سيتم نسخه إلى المصنف الحالي)

ضع الكود التالي في موديول

Sub GetDataFromClosedWorkbook()
    Dim FilePath$, Row&, Column&, Address$

    'Change Constants & Filepath Below To Suit
    '***************************************
    Const FileName$ = "Sample.xlsx"
    Const SheetName$ = "Sheet1"
    Const NumRows& = 10
    Const NumColumns& = 10
    FilePath = ActiveWorkbook.Path & "\"
    '***************************************

    DoEvents
    
    Application.ScreenUpdating = False
        If Dir(FilePath & FileName) = Empty Then
            MsgBox "The File " & FileName & " Was Not Found", , "File Doesn'T Exist"
            Exit Sub
        End If
        
        For Row = 1 To NumRows
            For Column = 1 To NumColumns
                Address = Cells(Row, Column).Address
                Cells(Row, Column) = GetData(FilePath, FileName, SheetName, Address)
                'Columns.AutoFit
            Next Column
        Next Row
        
        ActiveWindow.DisplayZeros = False
    Application.ScreenUpdating = True
End Sub

Private Function GetData(Path, File, Sheet, Address)
    Dim Data$
    Data = "'" & Path & "[" & File & "]" & Sheet & "'!" & Range(Address).Range("A1").Address(, , xlR1C1)
    GetData = ExecuteExcel4Macro(Data)
End Function

                                وإليكم الملف المرفق فيه تطبيق الأكواد ...                               .

أرجو أن ينال الملف إعجابكم وتستفيدوا منه إن شاء الله تعالي ...:fff:

 

حمل الملف من هنا

 

تقبلوا وافر تقديري واحترامي

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

  • 10 months later...

السلام عليكم

اخى الحبيب ..... ياسر ابو البراء

عمل رائع رائع ... والكود يعمل بشكل ممتاز.. وهذا مابحث عنه ... ولاكن وجدته بعد الانتهاء من موضوع   ( تصحيح خطاء فى كود )    الذى وضعت الحل المناسب له ...

 

ولاكن إثراء للموضوع حاولت تطبيق كود Get Data From Closed Workbook

 على المرفق

الا ان النتائح تاتى بشكل غريب ( #REF! )

ارجو توضيح السسبب وإصلاحه الخطاء

الملف الذى اريد جلب البيانات منه وهو مغلق هو  TIME SHEET TAREK EK 2017.xlsb من الشيت Zayed Allaw .. والنطاف من X18 : A1

والملف الذى اريد جلب البيانت فيه هو Zayed Allaw Cairo.xlsb فى شيت Zayed Allaw .. والنطاف من X18 : A1

 

 

 

 

 

 

Get Data From Closed Workbook.rar

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

وعليكم السلام

أول خطأ في الملف المرفق أنك غيرت الامتداد للملف المسمى Zayed Allaw Cairo وكان امتداده xlsx .. لاحظت الآن بعد تحميل الملف أن الامتداد بصيغة أخرى xlsb

لذا بشكل مبدئي يجب تغيير السطر التالي ليتناسب مع العمل الجديد .......

Const strInput = "Zayed Allaw Cairo.xlsx"

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

في انتظار التعديل والتجريب ، ولو فيه أي مشكلة جديدة أعلمنا بها

تقبل تحياتي

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

 

السلام عليكم

اخى الحبيب ياسر 

لم اجد  فى اصل الكود

ماذا تقصد بها 

ملحوظه

الملف الذى اريد جلب البيانت فيه هو Zayed Allaw Cairo.xlsb فى شيت Zayed Allaw 

 

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

وعليكم السلام

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

ولو فيه أي جزئية مش واضحة نحن معك إن شاء المولى

تقبل تحياتي

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

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

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



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

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

Important Information