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

تصدير بيانات إلى ملف مفتوح


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

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

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

لى طلب بسيط أرجو مساعدتكم فيه

فى المرفق ملفين

1- material وده ملف بيكون مفتوح 24 ساعة فى اليوم ولا يتم إغلاقه نهائيا وهو الملف الذى اريد تصدير البيانات إليه

2- reference ده ملف عادى بنفتحه ونقفله وقت ما نريد وبه البيانات التى سنقوم بارسالها الى ملف material

المطلوب هل من طريقة ماكرو فى ملف reference بتشغيله يقوم بنسخ البيانات الملونة باللون الاصفر فى الملف لأماكنها الملونة باللون الاصفر أيضا فى ملف material

مع العلم ان ملف material مفتوح دائما

وقد يكون مفتوح على جهاز آخر ولكن كل الاجهزة متصلة بنفس السيرفر وبينها شبكة داخلية متصلة (بمعنى ان اى ملف فى البارتيشن الخاص بينا يمكن فتحه من على اى جهاز )

 

وشكرا

update on opened file.rar

update on opened file.rar

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

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

حصل نوع من اللبس

بعد تحميل مرفقك وجدت أن الملفين هما  reference  و product x

بينما  reference  و  material  هما أسمين لشيتين داخل الملف  reference

أما الملف product x فيوجد به شيت اسمه weight

الرجاء إزالة اللبس بشي من التوضيح  

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

أولا جزاكم الله خيرا على الاهتمام

نعم اخى الفاضل انت محق

المقصود بالملفين بالفعل هو reference و product x

والمطلوب هو تصدير البيانات من شيت material الموجود فى ملف reference

الى شيت weight الموجود فى ملف product x

 

واسف على هذا اللبس

وكنت اود تعديله فى الموضوع الرئيسيى ولكن ليست هناك صلاحية لذلك

 

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

تم عمل المطلوب إن شاء الله

ضع المجلد الأصفر داخل مجلد الشبكة

افتح الملف product x ثم اضغط على زر getdata فقط

سيتم جلب البيانات أولا في العمود A ثم ستتوزع على الخلايا في العمود G 

سواء كان الملف reference  مفتوحأ أو مغلقا فلن يهم

جرب المرفق

update on opened file1.rar

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

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

هذا هو المطلوب

ولكن ماذا لو كان ملف reference l موجود فى مسار اخر

مثل D:\Update

فكيف يمكننى تغيير ذلك فى الكود ؟

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

 

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

غير السطر في الكود إلى

GetData "D:\Update\Reference.xlsx", "Material", "F9:F12", Sheets("Weight").Range("A1"), True, True

أخي الكريم أبو عيد

بارك الله فيك وجزيت خيراً على الكود الجميل ..

اطلعت على المصنف المسمى Reference ووجدت أن النطاق F10:F12 وليس F9:F12 .. والغريب أن F9 خلية مدمجة وعند تنفيذ الكود تأتي النتيجة بالنص F1 في أول خلية A1 ..من أين أتت هذه القيمة النصية F1؟؟ ولما غيرت النطاق إلى F10:F12 لم تأتي النتائج منضبطة !؟؟

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

السلام عليكم

أخي العزيز أبو البراء

السر يكمن من آخر قيمتين في الكود true , true 

 

القيمة الأولى true ترجع لخاصية رأس النطاق header

 لما تعملها true يعنى أنك ستستخدم هذه الخاصية 

أما لو عملتها false يعنى أنك لا تريد استخدامها وفي هذه الحالة لا تهم القيمة الثانية سواء كانت true  أو false

 

القيمة الثانية true ترجع لاستخدام الخلية الأولى في النطاق

لما تعملها true يعنى أنك تريد ظهور بيانات الخلية الأولى f9 في النطاق F9:F12

    ولما تعملها false  يعنى أنك لا تريد ظهور بيانات الخلية الأولىf9 في النطاق F9:F12 بل الخلية الثانية f10

 

نحلل الآن الكود الذي في الأعلى

الكود سيحضر لك البيانات التي في النطاق F9:F12

 true  الأولى يعنى قم بتفعيل خاصية راس النطاق  HEADER

true   الثانية يعنى قم بجلب البيانات الموجودة في رأس النطاق المحدد وهو f9

 

عندما يتم التنفيذ سيفاجأ الكود أن الخلية   F9   (الموجودة في الملف المراد جلب البيانات منه ) مدمجة يعنى فيها خلل سيكتب لك f1  يعنى الكود ها يقول لك :

أنت يا سيدي حددت لي الخاصية HEADER  على أنها TRUE  يعنى غضبا عني لا زم أجيب قيمة أول خليةF9   وأنا ما عرفتش أجيب البيانات اللي في الخلية دي لأن فيها مشكلة ولكنها الخلية الأولي في النطاق المحدد

 

   لاحظ أن  F1     يعنى خطأ في رأس العمود الأول من النطاق المحدد

                F2   يعنى خطأ في راس العمود الثاني من لنطاق المحدد

(لن تظهر عندك F2  لأنك حددت عمود واحد F9:F12  ولكن يمكن أن تظهر عندما تحدد أكثر من عمود مثلا B2:T5  ومعنى F2  هو أن الخلل يوجد في رأس العمود الثاني من النطاق وهو الخلية C2)

        وهكذا  F6  يعنى خطأ في رأس العمود السادس من النطاق المحدد

 

طيب سوال : لو دخلنا على نفس الكود أعلاه وغيرنا آخر قيمة من TRUE ألى FALSEكيف ستظهر النتائج ؟

الجواب لا حظ أن النطاق هو F9:F12 والقيمة الأولى TRUE يعنى استخدام خاصة هايدر

والقيمة الثانية FALSE  يعنى أن الكود سيحضر لك البيانات الموجودة في النطاق F10:F12 وليس F9:F12

يعنى أن الكود سيتجاهل رأس النطاق f9

 

سوال ثاني : ماذا لو كانت القيمة الأولى تساوي FALSE , ما معنى هذا ؟

الجواب عندما تكون القيمة الأولى FALSE  فإن القيمة الثانية لن تعمل سواء كانت FALSE  أو true  

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

 

الخلاصة سيكون لدينا ثلاث حالات للكود

1)    True , True

2)    True , False

3)    False , True   = False , False  حالة واحدة

بدون عنوان.png

تم تعديل بواسطه أبوعيد
  • Like 3
رابط هذا التعليق
شارك

بسم الله ما شاء الله

تحليل رائع أخي الحبيب أبو عيد ..بارك الله فيك

ومشكور على الهدية القيمة والرائعة

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

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

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

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



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

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

Important Information