ياسر خليل أبو البراء قام بنشر مارس 27, 2016 قام بنشر مارس 27, 2016 السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله ومع كل جديد في الإكسيل تقع عليه عيني اقوم على الفورم بإفادة إخواني به لنرتقي سوياً أقدم لكم اليوم طريقة نسخ بيانات نطاق محدد من مصنف مغلق ـ والموضوع إلى هنا ليس بجديد ... أم الجديد في الموضوع هو إمكانية نسخ النطاق إلى المصنف المفتوح الحالي بدون فتح المصنف المغلق على الإطلاق .. أي في الأكواد المستخدمة لن تجد كلمة 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 وإليكم الملف المرفق فيه تطبيق الأكواد ... . أرجو أن ينال الملف إعجابكم وتستفيدوا منه إن شاء الله تعالي ... حمل الملف من هنا تقبلوا وافر تقديري واحترامي 3
۩◊۩ أبو حنين ۩◊۩ قام بنشر فبراير 13, 2017 قام بنشر فبراير 13, 2017 السلام عليكم اخى الحبيب ..... ياسر ابو البراء عمل رائع رائع ... والكود يعمل بشكل ممتاز.. وهذا مابحث عنه ... ولاكن وجدته بعد الانتهاء من موضوع ( تصحيح خطاء فى كود ) الذى وضعت الحل المناسب له ... ولاكن إثراء للموضوع حاولت تطبيق كود 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
ياسر خليل أبو البراء قام بنشر فبراير 13, 2017 الكاتب قام بنشر فبراير 13, 2017 وعليكم السلام أول خطأ في الملف المرفق أنك غيرت الامتداد للملف المسمى Zayed Allaw Cairo وكان امتداده xlsx .. لاحظت الآن بعد تحميل الملف أن الامتداد بصيغة أخرى xlsb لذا بشكل مبدئي يجب تغيير السطر التالي ليتناسب مع العمل الجديد ....... Const strInput = "Zayed Allaw Cairo.xlsx" سأتناول نقطة واحدة في كل مرة لتتعلم كيفية تصحيح الخطأ بنفسك .. في انتظار التعديل والتجريب ، ولو فيه أي مشكلة جديدة أعلمنا بها تقبل تحياتي
۩◊۩ أبو حنين ۩◊۩ قام بنشر فبراير 13, 2017 قام بنشر فبراير 13, 2017 السلام عليكم اخى الحبيب ياسر لم اجد فى اصل الكود ماذا تقصد بها ملحوظه الملف الذى اريد جلب البيانت فيه هو Zayed Allaw Cairo.xlsb فى شيت Zayed Allaw Const strInput =
ياسر خليل أبو البراء قام بنشر فبراير 13, 2017 الكاتب قام بنشر فبراير 13, 2017 وعليكم السلام حاول تدرس الكود في الملف الأصلي أولاً بشيء من التدقيق لتتعرف أكثر على كيفية إجراء العملية بشكل عام ، ثم بعد الدراسة الوافية ستتمكن من تطويع الملف ليعمل على ملفاتك بسهولة ويسر إن شاء الله ولو فيه أي جزئية مش واضحة نحن معك إن شاء المولى تقبل تحياتي 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.