نجوم المشاركات
Popular Content
Showing content with the highest reputation on 07/14/15 in all areas
-
نهنىء استاذنا وحبيبنا مارد بمناسبة ترقيته الى عضو محترف الف مبروك وتستاهل اكثر وشكرا لإدارة الموقع2 points
-
اخى الكريم / المطلوب بالمرفق إن كان ما تريد حددة كأفضل إجابة المصنف1.rar2 points
-
السلام عليكم ورحمة الله وبركاته رمضان كريم على الجميع الاستاذ الفاضل ابوالبراء جزاكم الله خيرا اعمالكم في قمة الابداع اخي العزيز ابوزيد غيرت في موضع الصورة بدل J1 جعلتها D1 وازلت دمج الخلية التي فيها الصورة والحمد لله الكود اكثر من رائع من استاذ مبدع دون مجامله وفقكم الله وزادكم خيرا برنامج 1.rar2 points
-
أخي الكريم المهاجر يرجى مراجعة رابط التوجيهات وتغيير اسم الظهور للغة العربية إليك الكود التالي يوضع في حدث المصنف بفرض أن لديك ورقة عمل باسم SaveInf والتي سيتم تسجيل المعلومات الخاصة بالحفظ داخلها .. التاريخ والوقت وورقة العمل النشطة التي تمت عملية الحفظ فيها واسم المستخدم الذي قام بعملية الحفظ وعدد مرات الحفظ .. أرجو أن يكون المطلوب Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) With ThisWorkbook.Sheets("SaveInf") If Application.CountA(.Range("A1:C1")) = 0 Then .Range("A1:C1").Value = Array("اسم المستخدم", "ورقة العمل أثناء الحفظ", "وقت عملية الحفظ") With .Range("A" & Rows.Count).End(xlUp)(2) .Resize(, 3).Value = Array(Application.UserName, ActiveSheet.Name, Now) With .Offset(1, 2) .FormulaR1C1 = "=COUNT(R2C:R[-1]C)&"" إجمالي مرات الحفظ""" End With End With End With End Sub لا تنسى أن تحدد أفضل إجابة كما لا تنسى أن تضغط "أعجبني هذا" إذا أعجبك المحتوى والكود تقبل تحياتي :fff: Save Process History YasserKhalil.rar2 points
-
بسم الله الرحمن الرحيم وبه نستعين إخوانى الاعزاء السلام عليكم ورحمته الله وبركاته بناءا على طلب أحد الزملاء الافاضل بهذا الصرح المبارك عبرالخاص وحتى تعم الفائده للجميع أقدم لسيادته وللساده الاعضاء هذا البرنامج وهو يصلح للسادة العاملين بمصانع القطاع الخاص حيث تم ربط الاجر بالحضور والانصراف ويتم التسجيل هنا بصفة يومية وعلى مدار شهرالاستحقاق لكل عامل وهو مقسم على ثلاثة مراحل حسب وضع كل عامل بهذا المصنع المرحلة الاولى مرتبطة بالاجر الاساسى الشهرى المتفق عليه وهو محدد بعدد الساعات الاصلية للعمل المرحلة الثانية مرتبطة بالاجرالاضافى وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل المرحلة الثالثة مرتبطة بالاجرالاضافى للسهرات الليلية وهناك إحتمالية لحدوث ذلك حسب ظروف كل عامل يشمل البرنامج أيضا الجزاءات التى تقع على العامل ويمكن تعديلة حسب نظام كل شركة يشمل البرنامج أيضا اأيام الغياب لكل عامل بالشركة ففى حالة سماح أيا من رصيد العامل لآجازنه الاعتيادية أو أجازنه العارضة فلايتم خصم أية مبالغ من هذا العامل إلا فى حالة نفاذ تلك الارصدة فتقع عليه أيام الغياب بالخصم يشمل أيضا السلف الذى يتقاضاها العامل على مدارالشهرعلى أن يتم خصمها من اجمالى راتبه اليومى وهناك المزيد نسألكم الدعاء.... تقبوا وافر احترامى .... وجزاكم الله خيرا1 point
-
بسم الله والصلاة والسلام على رسول الله أخواني وأساتذتي كل عام وأنتم بخير أقدم لكم هذا الموضوع البسيط والذي ربما يكون عرض من أحد العمالقة في فترة غيابي لكننني بحثت ولم أجد عنه شيء قبل عرضه الموضوع هو أننا عن استخدام vlookup مع الفواتير والشهادات قد نحتاج بدلا من الطباعة إلى الاحتفاظ بنسخة بي دي إف وقد قمت بالتجربة إلى أن وصلت للكود التالي بفضل الله الحفظ يكون في نفس مكان الملف ويمكن أن يكون الحفظ في Documents لكنني فضلت أن يكون الحفظ في نفس مكان الملف مع العلم أنني وضعته في أبسط صوره ويمكن التعديل بحيث يحفظ جميع ما لديك ( جميع الفواتير أو الشهادات ) بضغطة واحدة أو حفظ مجموعة معينة من الشهادات - الفواتير مع الشكر لكم كود لحفظ الصفحات بي دي اف.rar1 point
-
السلام عليكم ورحمة الله وبركاته إخواني الأحباب سبق أن قمنا بكسر حماية محرر الأكواد بدون برامج .. الآن مع كسر حماية أوراق العمل بالاستعانة ببرنامج صغير الحجم اسمه XML Marker وهو برنامج للتعديل على ملفات الـ XML وهو مرفق في الموضوع ... أترككم مع الفيديو ..عسى أن تستفيدوا منه إن شاء الله (ومتنسوش اللايكات !!) تقبلوا تحيات أخوكم أبو البراء xmlmarker_2_2_setup.rar1 point
-
السلام عليكم اخي طالب العلم التكرار هنا ليس مخالفة وسأشرح لك حتى توافقني عن اقتناع اولا : طلاب المدرسة يبلغون مثلا 300 طالب والصفوف 6 فنحن نكتب امام اسم كل طالب صفه هنا سيتكرر الصف السادس حوالي 50 مرة وباقي الفصول مثل ذلك لماذا لا نجعل الصفوف رأس والطلاب في جدول فرعي ؟ ثانيا : واعتقد ان هذه هي المقنعة حين نجعل الفئات في جدول رئيس والاصناف في جدول فرعي ثم نربط بينهم بعلاقة واحد لمتعدد طبعا هذا الذي يدور في مخيلتك الآن وبعد تعبئة البيانات افتح الجدول الفرعي ستجد حقلا خاصا برقم الفئة ومكرر ايضا والذي هو المفتاح الفرعي لذا اصبح عملنا تحصيل حاصل ولم نمنع التكرار وايضا عملنا على تقييد جدول الاصناف1 point
-
1 point
-
انظر هذا الموضوع سيفيدك http://www.officena.net/ib/index.php?showtopic=62155&hl=%D8%A7%D9%84%D8%B4%D8%AC%D8%B1%D8%A9#entry4024451 point
-
1 point
-
شكرا جزيلا اخ ياسر و سوف اقوم بعمل موضع جديد بالمشكله لمحاوله ايجاد مساعده من الساده الخبراء الافاضل و كل عام و انت بخير و عيد سعيد عليك و على الاسره الكريمه1 point
-
اخي محمد تم تعديل الملف ليتعامل مع اللغة العربية ايضاً وضعته في صيغة 2003 لتمكين اكبر عدد من الاخوة بالاستفادة منه كل حروف.rar1 point
-
الف مبروك اخي مارد وتستاهل الكثير اتمني لك الموفقية والنجاح في حياتك بارك الله فيك يا اخي العزيز مارد1 point
-
https://www.youtube.com/playlist?list=PL3Y-XQZw5tnhbwXBXbbxn17Ly5EWrrN2H1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته.. مباركة عليكم الترقية إلى الاحتراف أستاذ مارد1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
نسأل الله أن يرزقه الخير وأن يتقبل جهده وأن ييسر أمره وأحواله والحمد لله رب العالمين.1 point
-
أخي الكريم حاول أن تنسخ الكود الموجود في محرر الأكواد .. وعدل فيه بما يناسب طلبك الموضوع بسيط إن شاء الله .. حاول أن تتعلم وكفاك أسماكاً جاهزة (جرب تصطاد السمكة بنفسك وشوف طعم السمك هتلاقيه مختلف تماماً ..)1 point
-
1 point
-
الف الف الف مبروك ويستاهل والله اخ مارد افضاله علينا كثير وانا شخصينا استفتدت منه الكثير الله يوفقه ويستاهل والله1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
أخي الفاضل أبو زيد ... السلام عليكم إليك الكود التالي وإن شاء الله بإذن المولى يفي بالغرض تماماً .. Sub InsertPictureVBA() Dim pic As Picture, strPhotosFolder As String, strPhoto As String strPhotosFolder = ThisWorkbook.Path & "\صور\" Application.ScreenUpdating = False With Sheets("بطاقة الموظف السنوية") While .Pictures.Count .Pictures(1).Delete Wend strPhoto = strPhotosFolder & Trim(.Range("B2").Value) & ".*" strPhoto = Dir(strPhoto) If Len(strPhoto) Then strPhoto = strPhotosFolder & strPhoto .Pictures.Insert (strPhoto) Set pic = .Pictures(.Pictures.Count) With pic .ShapeRange.LockAspectRatio = msoFalse .Left = .Parent.Range("J1").Left .Top = .Parent.Range("J1").Top .Width = .Parent.Range("J1").Width .Height = .Parent.Range("J1").Height End With End If End With Application.ScreenUpdating = True End Sub كل ما عليك فعله هو تغيير مسار مجلد الصور من هذا السطر strPhotosFolder = ThisWorkbook.Path & "\صور\" ليصبح بهذا الشكل strPhotosFolder = "D:\صور\" كما تمت إضافة سطر في حدث الورقة المسماة "بطاقة الموظف السنوية" ليتم تنفيذ الكود بمجرد التغير في الخلية B2 ... قم بكتابة رقم الموظف لتظهر الصورة الخاصة به في الخلية J1 بنفس الأبعاد للخلية .. الملفات في مجلد الصور تكون بأرقام الموظفين .. كل موظف له صورة مسماة برقمه أو يمكنك التعديل في الكود بما يحلو لك ... ليناسب طلبك أياً كان تقبل الله منا ومنكم صالح الأعمال ولا تنسى أن تحدد أفضل إجابة كما لا تنسى أن تضغط أعجبني هذا إذا أعجبك بالطبع برنامج البطاقة الشهرية والسنوية.rar1 point
-
انا كنت اكره هذه المعادله وخاصه بالنسبه لي العمود الاول الذي تستقي منه المعلومات ولكن بفضل الله ثم فضلك اخي خالد هضمتها شكرا لك1 point
-
حياك الله لو وضعت مرفق افضل للعمل عليه على العموم هذا احد الحلول بالمرفق 2003.rar1 point
-
أخي الكريم أبو إلياس السوري الحمد لله أن تم المطلوب على خير ووفقك الله لما فيه الخير والصلاح .. يعجبني إصرارك على التعلم .. واصل بلا فواصل وستتعلم الكثير والكثير وسنتعلم معك أيضاً .. لا تظن أبداً أن للعلم نهاية فمنهومان لا يشبعان طالب علم وطالب مال تقبل تحياتي وكل عام وأنت بخير1 point
-
تفضل يا اخى قمت بالتعديل فى جدول الاصناف حيث كان لزاما ان اصنف كل منتج حسب القسم التابع له ويمكنك تغييرها بعد ذلك وقتما شئت فى نموذج mared ستجد قائمة منسدلة غير منضمة بها اسما الفروع فاختر الفرع الذى تريد الاستعلام عنه وسيفتح التقرير تلقائى قمت باجراء التعديلات الاخيرة الذى طلبتها والحمد لله تحياتى تقرير اجماليات.rar1 point
-
1 point
-
تفضل اخى الكريم / ان كان هذا ما تريد حدد الموضوع كمجاب =IF(AND(A1<=13000;A1>9000);((A1-9001)*0.1)+5;IF(AND(A1<=9000;A1>4000);((A1-4001)*0.09);IF(A1<=4000;0)))1 point
-
1 point
-
السلام عليكم و رحمة الله و بركاته تفضل أخي أبا اسماعيل نموذج ربما يفي بالغرض نموزج فاتورة+اصيل 2.rar1 point
-
السلام عليكم اقدم لكم مثال لكيفية عرض تقرير واحد في ثلاثة اشكال . من خلال عرض التقرير لكل الموظفين . عرض التقرير للموظف المعروض . عرض التقرير للموظفين الذين تبدأ اسمائهم بحرف معين , انا اخترت حرف (م) اترككم مع البرنامج وارجوا بالضغط على (اعجبني هذا ) على يسار الشاشة . تحياتي لكم . فرز التقرير.rar1 point
-
السلام عليكم ورحمة الله وبركاته ***************** هذا الموضوع تجميع لروابط الموضوعات التي قدمتها ، أسأل الله العلي القدير أن يجعل أعمالنا صالحة ولوجهه خالصة. افتح الباب وادخل لعالم البرمجة (متخافوش يا أحباب من اللي ورا الباب) استخراج كل الاحتمالات لأرقام محددة (موضوع الأسبوع الخامس) ترتيب الأسماء أو القيم طبقاً لطول السلسلة النصية (موضوع الأسبوع الرابع) عكس القيم في عمود أوقلب النتائج في عمود مجاور (موضوع الأسبوع الثالث) استخراج الصور من مصنف إكسيل حتى ولو كانت علامة مائية (موضوع الأسبوع الثاني) إخفاء كل الأعمدة ما عدا أعمدة محددة (موضوع الأسبوع الأول) وبضدها تتميز الأشياء (تجميعة Toggles) للشيء وعكسه الدالة MOD وعد الخلايا التي تحتوي على أرقام زوجية أو أرقام فردية حصرياً استخراج ملف فلاشي من داخل مصنف ليكون ملف منفصل بذاته أربعة عشر طريقة لمعرفة السنة الكبيسة أو السنة العادية باستخدام المعادلات طباعة أوراق عمل محددة حسب الاختيار مع إمكانية اختيار الطابعة وعدد النسخ منع التكرار في عمود ومنع نسخ أكثر من خلية بالعمود حصرياً دالة معرفة UDF لمعرفة الرقم التسلسلي للوحة الأم MotherBoard Serial إدراج أسماء الشهور بكل اللغات استخراج القيم الفريدة أي الغير مكررة في نطاق باستخدام الكائن القاموس إرسال إيميلات دفعة واحدة عبر الـ Outlook باستخدام برمجة الـ VBA تقسيم أو شطر قائمة واحدة إلى قائمتين بالتساوي جعل النص في أداة الـ Label يظهر بشكل رأسي عمل قائمة بأسماء الملفات في مسار محدد بالمعادلات بدون أكواد فورم لتوليد أرقام عشوائية ما بين رقمين مع الاحتفاظ بقيم البداية والنهاية في الريجستري إعلان عن خدمة برنامج السجلات المدرسية (البرنامج غير مجاني وليس للبيع) الحلقات التكرارية للمصفوفة تشغيل ملف صوتي بامتداد WAV عند تحديد خلية معينة بداية الطريق لإنقاذ الغريق إلغاء زر إغلاق التطبيق Excel Application Close Button إعادة ضبط نافذة محرر الأكواد الناموس في شرح القاموس استخراج القيم الفريدة أي الغير مكررة في نطاق باستخدام الكائن القاموس إضافة Addin تقوم بترتيب أسطر الكود (تنظيم الأكواد) المصفوفات في الإكسيل (نتعلم سوياً لنرتقي) - الحلقة الأولى المصفوفات في الإكسيل (نتعلم سوياً لنرتقي) - الحلقة الثانية تقليل حجم ملف الإكسيل (موضوع للبحث) تقسيم بيانات صف إلى عدة أعمدة إظهار المعادلات بدون أكواد معرفة الأرقام الناقصة Missing Numbers في سلسلة أرقام تصفية البيانات من خلال مربع نص TextBox (بحث بالأحرف الأولى والتصفية حسب البحث) استخراج القيم الغير مكررة مع إمكانية ترتيب القيم Sort أكواد البداية والنهاية لـ (ياسر بن خليل) البحث المتعدد وتلوين كلمات البحث باستخدام فورم استخراج القيم الغير مكررة في نطاق وعدها عن طريق دالة معرفة دالة معرفة UDF Function تقوم بإظهار المعادلات عمل طريق مختصر Shortcut على سطح المكتب للمصنف عن طريق الأكواد نسخ صورة لنطاق وعمل ارتباط للصورة بهذا النطاق إضافة شريط أمر تحكم إلى قائمة الكليك يمين تشغيل الماكرو عدد معين من المرات نسخ أو تحميل صورة من الويب إلى الإكسيل توليد تواريخ عشوائية بين تاريخين إغلاق المصنف بدون حفظ وإعادة فتح المصنف من جديد كيفية تصميم شيت الكنترول (ناصر سعيد) استخدام دوال الإكسيل WorksheetFunction التعامل مع الأنواع المختلفة للبيانات باستخدام SpecialCells مقارنة عمودين باستخدام التنسيق الشرطي إدراج رسم بياني في تعليق منع طباعة أوراق العمل كسر حماية أوراق العمل (القنبلة الجديدة) كسر حماية محرر الأكواد بدون برامج (قنبلة الموسم) إنشطار البيانات المفلترة (موضوع متميز بإذن الله) إنشاء تبويب مخصص Custom Tab إخفاء محتويات الخلايا (حيلة بسيطة) إظهار وإخفاء النطاقات المعرفة Defined Names داونلود مانجر من خلال الإكسيل ..حمل ملفاتك بالإكسيل ثلاثة طرق لتحديد أوراق العمل بالأكواد الملف القاتل (ملف يحوي كود لحذف أي ملف تحدده) فحص الاتصال بالانترنت عن طريق الأكواد التصفية المتقدمة بالأكواد Advanced Filter نسخ كود من مصنف لمصنف آخر ، ومن مصنف للمنتدى البحث عن جزء من النص باستخدام الدالة VLOOKUP (موضوع خفيف) دالة استخراج بيانات الرقم القومي (المحافظة والنوع وتاريخ الميلاد) دمج أوراق العمل من مصنفات مختلفة إلى مصنف واحد (المجمع) الإنشطار الكبير .. انشطار أوراق المصنف إلى مصنفات منفصلة نسخ البيانات بأكملها من ورقة عمل لورقة عمل أخرى دالة DatePart للتعامل مع أجزاء الوقت والتاريخ فتح مستند نصي ببرنامج الورد من داخل الإكسيل تجميع القيم مع كل إدخال جديد في نفس الخلية Accumulator عمل خريطة لورقة العمل Quick Map معرفة دقة الشاشة Screen Resolution دالة معرفة UDF لاستخراج الإيميلات داخل نصوص Emails From Text دالة معرفة UDF لتوليد أرقام عشوائية غير مكررة (فريدة) دالة معرفة UDF لدمج النصوص بمزايا مختلفة عن الدالة CONCATENATE دالة معرفة UDF لجمع الخلايا ذات التنسيق Bold (عريض) تغيير اسم ورقة العمل تبعاً لتغير قيمة خلية أوتوماتيكياً إنشاء القوائم المنسدلة (دروس للمبتدئين) معرفة الصف الأخير وإنشاء نطاقات ديناميكية غير ثابتة باستخدام الأكواد تغيير خصائص القائمة المنسدلة بإدراج كومبوبوكس إضافة الدوائر الحمراء وحذفها معرفة إذا ما كانت الخلية تحتوي على معادلة أم لا (بدون أكواد) المشروع الكبير (مكتبة الصرح .. زاخرة بالشرح) وهي عبارة عن تجميع لمكتبة الأكواد بشرى لمدخلي البيانات في موقع وزارة التربية والتعليم ادخل الموقع بنقرة واحدة تغيير أسماء أرقام سور القرآن الكريم إلى أسماء تلك السور الحفظ التلقائي كل 10 ثواني البحث عن القيم المتعددة بدون تكرار الخاصية Offset ف لغة البرمجة ألغاز إكسيلية (موضوع ترفيهي) عمل قائمة منسدلة يمكنك البحث من خلالها استخراج القيم بدون الخلايا الفارغة استخراج القيم بدون الخلايا الفارغة (دالة معرفة) تحديد صف وعمود الخلية النشطة (تلوين العمود والصف باستخدام التنسيق الشرطي) برنامج صغير للترجمة (ترجم من اللغة العربية للغة الإنجليزية) إنشاء أوراق عمل وفرزها وحذفها وضع علامة صح بمجرد النقر المزدوج في الخلية إضافة رائعة للإكسيل تقوم بفصل البيانات تقويم للسنة المقبلة 2015 دالة لإدراج صورة الخاصية Resize في لغة البرمجة دالة لعد التواريخ البحث عن الخلايا المدمجة بطرق مختلفة معرفة الوقت الذي تم فيه الدخول على الحاسوب انتحار ملف الإكسيل Kill This Workbook (Suicide) الخلية النابضة (من روائع الأعمال) العدسة المكبرة بالاكواد (من روائع الأعمال) الحلقة التكرارية FOR......Next استخدام الدالة DIR في محرر الأكواد للفيجوال بيسك إنشاء تقويم ميلادي بالأكواد المصفوفات في الإكسيل Arrays دالة تحويل التاريخ الهجري إلى ميلادي الحصول على قيم غير مكررة في قائمة التحقق التحقق من الصحة عمل اختصار للأمر في القائمة المختصرة دالة العد المتعددة والشاملة معرفة آخر يوم لأي يوم من أيام الأسبوع لأي شهر من شهور السنة ( موضوع مميز ) استخراج الأسماء المكررة في قائمة دالة معرفة لاستخراج تاريخ الميلاد والنوع ومحافظة الميلاد من الرقم القومي كود برمجي لفتح وغلق الـ CD-ROM قائمة بأسماء أوراق العمل دورة للمبتدئين في عالم البرمجة السلاسل النصية إدراج صورة في تعليق ************************* دمتم في رعاية الله1 point
-
هذا هو الكود بالكامل وسيتم شرحه سطر سطر ان شاء الله Private Sub Report_Open(Cancel As Integer) On Error GoTo 2 Dim StartDate As Date, EndDate As Date, K As Integer, I As Integer StartDate = InputBox("تاريخ بداية الشهر", "تنبيه", 1 & "/" & Month(Date) & "/" & Year(Date)) EndDate = InputBox("تاريخ نهاية الشهر", "تنبيه", DateAdd("d", -1, DateAdd("m", 1, 1 & "/" & Month(Date) & "/" & Year(Date)))) If DateDiff("d", StartDate, EndDate) > 31 Then Exit Sub For I = 0 To DateDiff("d", StartDate, EndDate) If Weekday(StartDate + I, vbFriday) = 1 Then GoTo 1 Me.Controls("Date" & K + 1).Caption = Format(StartDate + I, "ddd d/m") K = K + 1 1 Next 2 End Sub Private Sub Report_Open(Cancel As Integer) حدث فتح التقرير ======================================================= On Error GoTo 2 في حالة خطاء في الكود يتم الانتقال الى السطر الذي به الرقم 2 الموجودة في نهاية الكود لانهاء الكود ومن امثلة الاخطاء التي تقع كتابة نص في مربع الأدخال او كتابة تاريخ غير موجود مثل 30/02/2013 وهكذا ======================================================= Dim StartDate As Date, EndDate As Date, K As Integer, I As Integer الأعلان عن المتغيرات ونوعها وهنا لدينا متغييرين نوعهما تاريخ هما (EndDate - StartDate ) ومتغيرين نوعهما عدد صحسح هما( K - I) ======================================================= StartDate = InputBox("تاريخ بداية الشهر", "تنبيه", 1 & "/" & Month(Date) & "/" & Year(Date)) هنا تم التعريف بقيمة StartDate وهي عبارة عن مربع إدخال InputBox وكما هو معروف فان مربع الادخال له عدة متغيرات ومنها (ما تم استخدامه) شاهد الصورة 1. prompt هنا عبارة عن النص الموجود في مربع الادخال ويستخدم للتوضيح "تاريخ بداية الشهر" 2. title عنوان مربع الادخال "تنبيه" 3. Default القيمة الافتراضية لمربع النص (تم استخدامها بدل الادخال اليدوي ) في القيمة الافتراضية لمربع النص تم استخلاص تاريخ بداية الشهر الحالي بواسطة هذه الدالة 1 & "/" & Month(Date) & "/" & Year(Date) وهي عبارة عن الرقم 1 و شرطة التاريخ / واستخراج الشخر من التاريخ الحالي بدالة Month و / واستخراج السنة من التاريخ الحالي بدالة Year لينتج عند تاريخ بهذا الشكل 1/10/2013 ======================================================== EndDate = InputBox("تاريخ نهاية الشهر", "تنبيه", DateAdd("d", -1, DateAdd("m", 1, 1 & "/" & Month(Date) & "/" & Year(Date)))) نفس مواصفات الشرح السابق ولكن هنا تم استخدام دالة DateAdd لاستخراج تاريخ أخر يوم في الشهر كما هو معلوم فدالة DateAdd تتكون من تلاثة متغيرات هي 1. interval الفترة المراد اضافتها الى التاريخ 2. number عدد الأيام (بالسالب أو الموجب ) 3. date التارخ المراد الاضافة علية (بالسالب أو الموجب) وقد أستخدمت مرتين الاولى لأضافة شهر على التاريخ الذي تم كتابته بهذه الطريقة (كما شرحت سابقاً) 1 & "/" & Month(Date) & "/" & Year(Date)) وكانت الدالة كالتالي DateAdd("m", 1, 1 & "/" & Month(Date) & "/" & Year(Date)) وسينتج منها تاريخ هو 01/11/2013 ثم استخدمت الدالة DateAdd مرة اخرى لإنقاص يوم واحد من هذا التاريخ ليعطينا اخر يوم في الشهر السابق لهذا التاريخ وهو 31/10/2013 وكانت المعادلة ككل كالتالي DateAdd("d", -1, DateAdd("m", 1, 1 & "/" & Month(Date) & "/" & Year(Date)))) ====================================================================== If DateDiff("d", StartDate, EndDate) > 31 Then Exit Sub جملة شرطية بإستخدام الدالة DateDiff (دالة لأستخراج عدد الايام بين تاريخين) فاذا تجاوز عدد الايام بين تاريخ بداية الشهر المدخل ونهايته يتم الخروج من الكود ===================================================================== For I = 0 To DateDiff("d", StartDate, EndDate) حلقة تكرارية تبداء من صفر وتنتهي حتى (عدد الايام بين التاريخين) ======================================== If Weekday(StartDate + I, vbFriday) = 1 Then GoTo 1 جملة شرطية ففي كل حلقة تكرارية يزيد تاريخ البداية برقم قيمة المتغير i ويتم فحص التاريخ بدالة Weekday فاذا صادف الجمعة ينتقل الكود الى السطر الذي به الرقم 1 وهو بداية حلقة تكرارية جديدة لكن دو تنفيذ السطور المحصورة بينهما (ويستخدم هذا السطر لتجاوز يوم الجمعة حسب ما هو مطلوب في هذا الموضوع) ============================================== Me.Controls("Date" & K + 1).Caption = Format(StartDate + I, "ddd d/m") هنا زبدة الكلام في كل حلقة تكرارية سيزداد قيمة المتغير i واحد فاذا لم يكن حاصل مجموع تاريخ البداية وقيمة المتغير i يوم جمعة فسيتم تنفيذ هذا السطر في البداية نعرف ان المتغير K تم الاعلان عنه كعدد صحيح وستكون قيمته صفر مالم يعلن غير ذلك كما نعرف ان الليبلات (التسمية) تم تسميتهن بإسم Date من 1 حتى 27 هكذا Date1 - Date2- Date3 وهكذا فبهذا السطر ستكون الليبلات وعناوينها عبارة عن تاريخ البداية مضاف اليه قيمة المتغير i ولكن بتنسيق أسم اليوم (ddd) و رقم اليوم و / و رقم الشهر هكذا 1/10 ================================================= K = K + 1 1 Next 2 End Sub هذه الاسطر كالتالي 1. تزيد قيمة K بمقدار واحد في كل حلقة تكرارية لا يكون فيها التاريخ يوم جمعة 2. بداية حلقة تكرارية من جديد 3. نهاية الكود ===================== ان شاء الله أكون وفقت في الشرح والله أعلم1 point
-
1 point