بسم الله الرحمن الرحيم
والصلاة والسلام على اشرف المرسلين
سيدنا محمد صلى الله عليه وسلم
لقد قدمت سابقا نموذج فاتوره على الاكسيل بدون فورم
وبناء على طلب بعض الاخوه فى شرح كيفيه عمل النموذج
وتلبية لرغباتهم
نتناول طريقه عمل النموذج
ونظرا لضيق الوقت
ان شاء الله يتم تناول درس يوميا على الاقل حتى الانتهاء بإذن الله
..........................................................................
الاخوه الافاضل
الحمد لله فقد انتهينا من شرح الدرس
الاول وهو عباره عن ثلاثة دروس تمهيديه
وهى
اولا--تصميم الفاتوره
ثانيا--انشاء شيت به الاكواد المساعده
ثالثا--انشاء شيت لتجميع بيانات الفواتير المسجله
---------------------------------------------------
الان نبدأ فى شرح الدرس الثانى
وقد انتهينا سابقان من تناول
الدرس الثانى ( أ ) الكود الاول--كود يقوم بعمل تسلسل لرقم الفاتوره
الدرس الثانى ( ب ) الكود الثانى--كود يقوم بعمل تسلسل لبيانات الفاتوره
الدرس الثانى ( ج ) كود الثالث--يقوم باحضار بيانات العميل عند كتابة الكود الخاص بالعميل
الدرس الثانى ( ح ) الكود الرابع---كود يقوم باحضار بيانات الصنف عند كتابة الكود الخاص بالصنف
الان نتناول شرح درس جديد
كان المفرروض ان يتم اعطاءه رقم خاص به
لكن اعزرونى فقد نسيت
لذلك سوف يتم الحاقه على الدرس الثانى (ح)
تابع الدرس الثانى ( ح )كود يقوم باستخراج القيمه الخاصه بكل صنف ثم استخراج اجمالى قيمة الفاتوره
اولا-استخراج القيمه الخاصه بكل صنف
وهنا سوف نتعرف على كيفية وضع كود يكون من وظيفته استخراج قيمة كل صنف وذلك عن طريق
ضرب الكميه الخاصه بكل صنف فى السعر الخاص به
فمثلا بالنظر الى الفاتوره سنجد اننا نريد ان نجعل القيم التى توجد فى العمود h بداية من h16:h37
ان تكون عباره عن قيمة الخلايا من f16:f37 فى الخلايا من G16:G37
وكما هو وضح من الصوره ان الخليه f16 بها بيانات الا وهو الرقم 1 وان الخليه G16
بها بيانات الا وهى الرقم 2 ومع ذلك نجد ان الخليه G16 مازالت فارغه
وما نريده ان تصبح قيمة الخليه G16 =2
عن طريق ضرب الخليه H16 (قيمتها الرقم 1) فى قيمة الخليه F16(قيمتها الرقم 2)
اى 1*2=2
وهكذا
وننبه الى ان الكود سوف يتم وضعه فى حدث الورقه
الان دعونا نضع الكود داخل محرر الاكواد كما فى الصوره
الان وبعد ان قمنا بادخال الكود فى محرر الاكواد
نقوم بكتابة بعض الارقام فى الخلايا من f16:f20 سنجد ان الخلايا من g16:g20
قد امتلئت بالقيمه كما فى الصوره
ثانيا-استخراج اجمالى الفاتوره
هذا الكود ايضا يوضع فى حدث الورقه
دعونا نلقى نظره على شكل الفاتوره وخصوصا الخليه i39 الخاصه باجمالى الفاتوره
وذلك قبل كتابة الكود سنجد انها فارغه كما فى الصوره
الان دعونا نضع الكود داخل محرر الاكواد كما فى الصوره
وهنا سنلاحظ ان الكود سوف يكون عباره عن سطر بسيط يتم كتابة مع الكود الخاص
باستخراج قيمة كل صنف
الان وبعد ان قمنا بكتابة السطر الخاص بالكود
نقوم بالقاء نظره على شكل الخليه i39 سنجد انها اصبحت مملوءه بالارقام التى هى عباره
عن ناتج جمع قيمة الاصناف الموجوده بالفاتوره
شرح الكود
اولا-استخراج القيمه الخاصه بكل صنف
If Not Intersect(Target, [f16:f37]) Is Nothing Then
تحديد نطاق ادخال البيانات
If Target.Value <> "" Then
فى حالة ان يكون النطاق او احد خلايا النطاق غير فارغه يتم الاتى
Target.Offset(0, 2) = Target.Offset(0, 0) * Target.Offset(0, 1)
تم اعطاء قيمة الخليه التى تلى النطاق فى نفس السطر وفى العمود الذى يليها بعمودين قيمة
الخليه التى تلى النطاق فى نفس السطر وفى نفس العمود اى خليه النطاق نفسها مضروبه فى قيمة
الخليه التى تلى النطاق فى نفس السطر وفى العمود الذى يليها بعمود واحد فقط
اى انه لو ان الخليه التى تم ادخال البيانات بها هى
الخليه f16 اذا
Target.Offset(0, 2)
سيكون عباره عن الخليه h16
Target.Offset(0, 0)
وهذا السطر عباره عن الخليه f16
Target.Offset(0, 1)
وهذا السطر عباره عن الخليه g16
وهكذا بالنسبه لباقى الاسطر المتشابهه
ثانيا-استخراج اجمالى الفاتوره
Range("i39") = Application.Sum(Range("h16:h37"))
هنا يتم استخدام المعادله sum
لجمع الارقام الموجوده فى النطاق من h16:h37
............................................................................................................................................................................................................................
الان نقوم بتجربه الملف المرفق لرؤيه عمل الكود على حده
شاهد المرفق 4-EXCEL
-----------------------------------------------------------------------------------
الان قد انتهينا من شرح
تابع الدرس الثانى ( ح )كود يقوم باستخراج القيمه الخاصه بكل صنف ثم استخراج اجمالى قيمة الفاتوره
اتمنى ان اكون قد وفقت فى الشرح
تقبلوا تحياتى
4-EXCEL.rar