اذهب الي المحتوي
أوفيسنا

إبراهيم ابوليله

المشرفين السابقين
  • Posts

    2851
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    7

كل منشورات العضو إبراهيم ابوليله

  1. اخى واستاذى العيدروس ايه الجمال والحلاوه دى الكود رائع جدا بصراحه نحن نحتاج لامثالكم فى هذا المنتدى نسأل الله الا يحرمنا منك بارك الله فيك وزادك من فضله وعلمه تقبل تحياتى
  2. السلام عليكم ورحمة الله وبركاته الدرس الثاني عشر 12-Window Events وسوف نتناول فى هذه الدرس الاتى تغيير التسمية التوضيحية لإسم نافذة المصنف النشط تنشيط نافذة معينه مفتوحه إخفاء أو إظهار نافذة مصنف مفتوح إغلاق نافذة مصنف فتح نافذه جديد لمصنف معين تكبير أو تصغبر أو الوضع العادى لنافذة مصنف عمل زووم لنافذة معينه إخفاء علامات التبويب لأوراق العمل فى مصنف معين إخفاء رؤوس الأعمدة والصفوف فى مصنف معين إخفاء شريط التمرير الأفقي فى مصنف معين إخفاء شريط التمرير العمودي فى مصنف معين عرض جميع صيغ المعدلات فى مصنف معين إخفاء خطوط الشبكةفى مصنف معين تلوين خطوط الشبكة فى مصنف معين عمل معاينة لفواصل الصفحات فى مصنف معين إخفاء القيم الصفرية فى مصنف معين اظهار اسم الورقة الحالية في رساله اظهار عنوان الخلية النشطة فى مصنف معين في رساله اظهار عنوان مدى محدد في رساله تجميد الألواح داخل فى مصنف معين عمل انقسام فى مصنف معين معرفة عدد الأجزاء المنقسمة فى مصنف معين ................................................................................................................................................................................. تغيير التسمية التوضيحية لإسم نافذة المصنف النشط لاحظ هنا ان اسم المصنف المفتوح امامك هو LEARN--VBA.xlsb طب لو احنا عايزين نغيره ونخليه مثلا مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb سيكون شكل الكود Sub A_Window_Caption() ActiveWindow.Caption = "مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb" End Sub تنشيط نافذة معينه مفتوحه كما يتضح من الصوره ان هناك اكثر من نافذة اكسيل مفتوحه ولكن المصنف النشط هو 9-sky201.xlsb فلو افترضنا اننا نريد اننا عايزين نخلى المصنف النشط هو LEARN--VBA.xlsb ليصبح هكذا سيكون شكل الكود Sub Windows_Activate() Windows("LEARN--VBA.xlsb").Activate End Sub إخفاء أو إظهار إطار نافذة مصنف مفتوح كما يتضح من الصوره اننا لدينا اكثر من مصنف مفتوح فلو اردنا اخفاء نافذه المصنف 9-sky201.xlsb سيكون شكل الكود Sub Windows_Visible() ' اخفاء Windows("9-sky201.xlsb").Visible = False ' اظهار 'Windows("9-sky201.xlsb").Visible = True End Sub إغلاق نافذة مصنف فلو اردنا اغلاق نافذة المصنف 9-sky201.xlsb سيكون الكود كالاتى Sub Windows_CLOSE() Windows("9-sky201.xlsb").Close = True End Sub فتح نافذه جديد لمصنف معين فى الصوره يتضح ان المصنف LEARN--VBA.xlsb مفتوح مره واحده ولفتحه مرتين هكذا لاحظ فى الصوره انه تم اضاف شيت جديد باسم افتراضى LEARN--VBA.xlsb:2 وتم تميز المصنف الاول باسم LEARN--VBA.xlsb:1 وعند غلق اى من المصنفين يتم اعادة اسم المصنف كما كان LEARN--VBA.xlsb سيكون الكود كالاتى Sub NewWindow_() Windows("LEARN--VBA.xlsb").NewWindow End Sub تكبير أو تصغبر أو الوضع العادى لنافذة مصنف سيكون الكود كالاتى Sub WindowState_() 'الوضع العادى Windows("LEARN--VBA.xlsb").WindowState = xlNormal 'تكبير 'Windows("LEARN--VBA.xlsb").WindowState = xlMaximized ' تصغير 'Windows("LEARN--VBA.xlsb").WindowState = xlMinimized End Sub عمل زووم لنافذة معينه سيكون الكود كالاتى Sub WindowZOOM_() Windows("LEARN--VBA.xlsb").Zoom = 80 End Sub إخفاء علامات التبويب لأوراق العمل فى مصنف معين لاحظ اختفاء اسماء الشيتات بعد تنفيذ الكود سيكون الكود كالاتى Sub DisplayWorkbookTabs_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = True End Sub إخفاء رؤوس الأعمدة والصفوف بمصنف معين سيكون الكود كالاتى Sub DisplayHeadings_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayHeadings = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayHeadings = True End Sub إخفاء شريط التمرير الأفقي فى مصنف معين سيكون الكود كالاتى Sub DisplayHorizontalScrollBar_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayHorizontalScrollBar = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayHorizontalScrollBar = True End Sub إخفاء شريط التمرير العمودي فى مصنف معين سيكون الكود كالاتى Sub DisplayVerticalScrollBar_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayVerticalScrollBar = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayVerticalScrollBar = True End Sub عرض جميع صيغ المعدلات فى مصنف معين سيكون الكود كالاتى Sub DisplayFormulas_() ' اخفاء Windows("LEARN--VBA.xlsb").DisplayFormulas = False ' اظهار 'Windows("LEARN--VBA.xlsb").DisplayFormulas = True End Sub انتظرو باقى الدرس
  3. اخى واستاذى مجدى يونس منور الموضوع وشرف ليا طبعا ان اشوفك متابع الموضوع بارك الله فيك تقبل تحياتى
  4. اخى اسامه البراوى منور والله شرف كبير ليا وجودك معانا على العموم هيا الفكره حلوه اكيد بس ممكن بعد اخر درس اشوف وقت فاضى كده وروح جاى فاتح موضوع جديد وعامل الدروس كلها فى نفس الموضوع على العموم فكر معايا تقبل تحياتى
  5. اخى سليم كود اكثر من رائع بارك الله فيك ومنتظرين المزيد من اعمالك الرائعه تقبل تحياتى
  6. اخى الصقر بالفعل هناك تقصير كبير منا فى اعطاء الموضوع حقه الذى يستحقه ولكن هذا بسبب المشاغل ليس الا لكن ثق تماما باننا متابعون ومشتاقون الى مزيد من الدروس تقبل تحياتى
  7. السلام عليك ورحمة الله وبركاته اخى الصقر اخى محمد حسن اخى ياسر العربى اخى ياسر خليل كلها محاولات جميله والاجمل التنوع مشكورين جميعا .............................. واسمحو لى بالمشاركه معكم على الرابط الاتى http://www.officena.net/ib/topic/50183-اهداء-الى-المنتدى-بعيدا-عن-الاكواد-تفقيط-المبالغ-باستخدام-المعادلات/ تقبلوا تحياتى
  8. السلام عليكم ورحمة الله وبركاته الدرس الحادي عشر 11-Worksheet&Workbook Events احداث الورك بوك والورك شيت وسوف نتناول فى هذه الدرس الاتى Worksheet_SelectionChange Worksheet_Activate Worksheet_Deactivate Worksheet_Change Worksheet_BeforeDoubleClick Worksheet_BeforeRightClick Workbook_Open Workbook_BeforeClose Workbook_BeforeSave Workbook_AfterSave Workbook_SheetActivate Workbook_SheetBeforeDoubleClick Workbook_SheetBeforeRightClick Workbook_NewSheet Workbook_SheetChange Workbook_SheetSelectionChange ............................................................................................. سوف نتناول هنا بعض الاكواد التى توضع فى حدث الورقه مع محاولة توضيح كيفية استخدامها كيفية اضافة الاكواد الخاصه بالحدث Worksheet يتم ذلك عن طريق الدخول الى محرر الاكواد ثم اختيار الشيت الذى نريد تطبيق الكود فيه والضغط مرتين على اسم الشيت فى محرر الاكواد لفتح نافذه الاكواد ثم كتابة الكود داخل النافذه ده طبعا على سبيل المثال بالنسبه لاسم الشيت ولكن اختيار الشيت هيكون على اساس اسماء الشيتات الى عندك انت طبعا Worksheet_SelectionChange هنا يتم تنفيذ الامر كلما يحدث تغير داخل النطاق المحدد شكل الكود Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub Worksheet_Activate هنا يتم تنفيذ الامر كلما يتم الدخول الى الورقه شكل الكود Private Sub Worksheet_Change(ByVal Target As Range) End Sub Worksheet_Deactivate هنا يتم تنفيذ الامر كلما يتم الدخول الى اى ورقه داخل الشيت اى الخروج من الورقه التى بها الكود شكل الكود Private Sub Worksheet_Deactivate() End Sub Worksheet_Change هنا يتم تنفيذ الامر كلما يتم حدوث تغير فى الورقة شكل الكود Private Sub Worksheet_Change(ByVal Target As Range) End Sub Worksheet_BeforeDoubleClick هنا يتم تنفيذ الامر كلما يتم الضغط على زر الماوس الايسر مرتين شكل الكود Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub Worksheet_BeforeRightClick هنا يتم تنفيذ الامر كلما يتم الضغط على زر الماوس الايمن شكل الكود Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) End Sub انتهينا من معظم احداث الورك شيت ................................................................................................................................................................................................................................................................................... نتناول الان معظم احداث الورك بوك الفرق هنا ان هذا الكود يوضه فى حدث الورك بوك وطالما وضع فى حدث الورك بوك فيكون قابل للتنفيذ على جميع الشيتات الموجوده فى الورك بوك وليس على شيت بعينه لكتابة الكود داخل حدث الورك بوك ندخل الى محرر الاكواد ثم نضغط على ThisWorkbook مرتين ثم ندخل الى نافذة محرر الاكواد ونكتب فيها الكود Workbook_Open هنا يتم تنفيذ الامر عند فتح الملف شكل الكود Private Sub Workbook_Open() End Sub Workbook_BeforeClose هنا يتم تنفيذ الامر قبل غلق الملف شكل الكود Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub Workbook_BeforeSave هنا يتم تنفيذ الامر قبل حفظ الملف شكل الكود Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) End Sub Workbook_SheetActivate هنا يتم تنفيذ الامر عند التنقل بين اوراق الملف شكل الكود Private Sub Workbook_SheetActivate(ByVal Sh As Object) End Sub Workbook_AfterSave هنا يتم تنفيذ الامر بعد حفظ الملف شكل الكود Private Sub Workbook_AfterSave(ByVal Success As Boolean) End Sub Workbook_SheetBeforeDoubleClick هنا يتم تنفيذ الامر كلما يتم الضغط على زر الماوس الايسر مرتين فى كل اوراق الملف شكل الكود Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) End Sub Workbook_SheetBeforeRightClick هنا يتم تنفيذ الامر كلما يتم الضغط على زر الماوس الايمن فى كل اوراق الملف شكل الكود Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) End Sub Workbook_NewSheet هنا يتم تنفيذ الامر كلما يتم اضافة ورقه جديده شكل الكود Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) End Sub Workbook_SheetChange هنا يتم تنفيذ الامر عند حدوث تغير فى اى ورقه من اوراق العمل شكل الكود Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) End Sub Workbook_SheetSelectionChange هنا يتم تنفيذ الامر عند حدوث تغير فى نطاق المحدد فى اى ورقه من اوراق العل شكل الكود Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) End Sub انتهينا من معظم احداث الورك شيت ............................................... طبعا فى كتير بيسأل دلوقتى احنا استفدنا ايه من الاكواد دى ولو عايزين نستخدمها هنستخدما ازاى امثـلـــــــــــــــــــــــه عـمـلـيـــــــــــــــــــــه Worksheet_SelectionChange نفترض اننا عايزين حينما يتم التنقل فى الخلايا من a3:a10 يتم ادخال رقم الصف فى الخليه المقابله فى العمود2 يعنى لما ننتقل الى الخليه a3 يتم كتابة رقم الصف فى الخليه b3 ولما ننتقل فى a4 يتم ادخال رقم الصف فى b4 وهكذا كيف نستطيع ان نقوم بعمل ذلك جرب استخدام الكود الاتى Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row > 10 Then Exit Sub ' فى حالة ان السطر اكبر من 10يتم الخروج من الكود وعدم تنفيذ شئ If Target.Column = 1 Then 'فى حالة العمود الاول If Target.Row >= 3 Then 'فى حالة ان السطر اكبر من او يساوى السطر3 Target.Offset(0, 1).Value = Target.Offset(0, 0).Row ' يتم اعطاء الخليه التى تلى خلية ادخال البيانات بعمود رقم السطر الحالى End If End If End Sub Worksheet_Change نفترض اننا عايزين حينما يتم الكتابه فى الخلايا من a3:a10 يتم ادخال رقم الصف فى الخليه المقابله فى العمود2 يعنى لما نكتب فى الخليه a3 يتم كتابة رقم الصف فى الخليه b3 ولما نكتب فى a4 يتم ادخال رقم الصف فى b4 وهكذا كيف نستطيع ان نقوم بعمل ذلك جرب استخدام الكود الاتى Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Row > 10 Then Exit Sub ' فى حالة ان السطر اكبر من 10يتم الخروج من الكود وعدم تنفيذ شئ If Target.Column = 1 Then 'فى حالة العمود الاول If Target.Row >= 3 Then 'فى حالة ان السطر اكبر من او يساوى السطر3 Target.Offset(0, 1).Value = Target.Offset(0, 0).Row ' يتم اعطاء الخليه التى تلى خلية ادخال البيانات بعمود رقم السطر الحالى End If End If End Sub Worksheet_Activate نفترض اننا عايزين اول ما ندخل على الشيت رقم 3 يتم ظهور رسالة ترحيب كيف يتم عمل ذلك جرب وضع الكود الاتى فى حدث الشيت رقم 3 Private Sub Worksheet_Activate() MsgBox "ابراهيم محمد" End Sub Worksheet_Deactivate نفترض اننا عايزين او ما نخرج من الشيت رقم3 ونروح لاى شيت اخر يتم ظهور رسالة ترحيب كيف يتم عمل ذلك جرب وضع الكود الاتى فى حدث الشيت رقم 3 Private Sub Worksheet_Deactivate() MsgBox "ابراهيم محمد" End Sub Worksheet_BeforeDoubleClick نفترض اننا عايزين لما نضغط فى دبل كليك فى العمود الاول فقط تظهر لنا رسالة ترحيب كيف يتم عمل ذلك جرب وضع الكود الاتى فى حدث الشيت رقم 3 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column > 1 Then Exit Sub If Target.Column = 1 Then MsgBox "ابراهيم محمد" End If End Sub هذا على سبيل المثال يمكنك اضافة الاكود التى تريدونها على حسب احتياجكم اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar
  9. اخى جرب المرفق الاتى نموزج-فاتورة-بدون-فورم-نهائى.rar
  10. اخى حسام الف مليون مبروك عليك الترقيه ترقيه مستحقه باذن الله الى مزيد من التقدم فى انتظار المزيد من اعمالك الجيده تقبل تحياتى
  11. اخى الايمان اعتزر بشده لعدم الرد لكننى لم ارى مشاركتك لارد عليها جايز ده بسبب الانشغال فى امور الحياه عموما على العموم اكرر الاعتزار --------------------------- اخى عبد العزيز مشكورا على الرد وبالفعل هذه النسخ الثلاث تفى بالغرض تقبلوا تحياتى
  12. اخى محمد حسن منور الموضوع وطبعا غيابك عنا يحزننا كثيرا فحن دائما ما نريد الاستمتاع بكلامك الطيب بارك الله فيك واتمنى لك التوفيق تقبل تحياتى .............................................. اخى elameen منور المشاركه واتمنى لك التويفيق اليك الملف كاملا تقبل تحياتى نموزج-فاتورة-بدون-فورم-نهائى.rar learnvba.rar
  13. السلام عليكم ورحمة الله وبركاته الدرس العاشر 10-InputBox صندوق الإدخال تستخدم InputBox كوسيله لادخال البيانات او للتحقق من بيانات معينه وللتعرف على كيفية استخدامها لابد لنا من التعرف على محتواها InputBox("القيمه الافتراضيه", "العنوان", "النص") مثال على كيفية استخدامها فى ادخال البيانات نريد ادخال اسم hima فى الخليه A3 عن طريق InputBox سيكون شكل الكود كالاتى Sub InputBox_() Dim hima As String 'hima متغير من نوع النصوص hima = InputBox("النص", "العنوان", "hima") ' InputBoxقيمة himaاعطاء المتغير Range("a3") = hima 'InputBox اى himaتساوى قيمة المتغير a3 هنا نقول ان الخليه End If End Sub مثال على كيفية استخدامها فى التحقق من البيانات نريد ادخال اسم hima فى الخليه A3 عن طريق InputBox ونريد ان تظهر لناInputBox نقوم بادخال باسوورد123 كشرط لادخال لظهور InputBox اخرى يتم استخدامها فى ادخال البيانات ولعمل ذلك قم بكتابة الكود الاتى Sub InputBox_1() Dim h As Integer h = 123 'hima متغير من نوع النصوص hima = InputBox("ادخل الرقم السرى", "العنوان") If IsNull(hima) Or hima = "" Then GoTo xx ' xxفى حالة الفراغ يتم الذهاب الى If h = hima Then ' hفى حالة تساوى القيمة المدخله مع المتغير hima1 = InputBox("النص", "العنوان") Range("a3") = hima1 'InputBox اى himaتساوى قيمة المتغير a3 هنا نقول ان الخليه Else xx: MsgBox "كلمة مرور غير صحيحة" & Chr(13) & " الرجاء اعادة ادخال كلمة المرور ", vbOKOnly End If End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar
  14. اخى نديم اتمنى لك الاستفاده واتمنى ان يكون الموضوع مفيد تقبل تحياتى
  15. السلام عليكم ورحمة الله وبركاته الدرس التاسع 9-MsgBox الرساله وسوف نتناول فى هذه الدرس الاتى شكل السطر الخاص بالرساله الاسماء الخاصه بالازرار والارقام التى يمكن استبدال الاسم بها اضافة سطر فاصل فى الرساله كيفية استخدام الجمل الشرطيه if مع MsgBox كيفية استخدام Select Case مع MsgBox شكل السطر الخاص بالرساله نحتاج الى استخدام الرسائل داخل الاكواد لتذكرينا بشئ معين او تنبيهنا بشئ معين كهذا ولمعرفة كيفية عمل ذلك دعونا نستعرض السطر الخاص بالكود الخاص بالرساله MsgBox([النص], [الازرار], [العنوان]) النص-----هنا يتم كتابة نص الرساله التى سوف تظهر لك الازرار---اختيار الازرار التى تظهر فى الرسالهyes, no, cancelويوجد ايضا ازرار اخرى العنوان---عنوان الرساله راجع الصوره الاتيه ولتنفيذ رساله بهذا الشكل نقوم بكتابة الكود الاتى Sub msgbox_() MsgBox "لاتنسونى بصالح الدعاء", vbYesNoCancel, "اللهم تقبل من صالح الاعمال" End Sub وفى هذا الكود قلنا ان محتوى النص -- لاتنسونى بصالح الدعاء تكون الازرار--الموجوده فيها yes-no-cancel يكون العنوان-- اللهم تقبل من صالح الاعمال ولو افترضنا اننا نريد اظهار الزر yes فقط نقوم باستبدال السطر الاتى vbYesNoCancel ب السطر الاتى vbYes اما اذا اردنا اظهار الزر yes والزر no يكون سطر الكود كالاتى vbYesNo ملحوظه بسيطه يمكن الاستغناء عن كتابة الاسم الخاص بكل زر واستبدال الاسم بالرقم الخاص بالزر لاحظ الكود الاتى Sub msgbox_1() MsgBox "لاتنسونى بصالح الدعاء", 3, "اللهم تقبل من صالح الاعمال" End Sub لاحظ اننا استخدمنا الرقم 3 بدلا من vbYesNoCancel وذلك من اجل اظهار الازرار yes - no -cancel الاسماء الخاصه بالازرار والارقام التى يمكن استبدال الاسم بها ولمعرفة المزيد من الاسماء الخاصه بالازرار والارقام التى تعبر عن كل زر وكيفية كتابة الاكواد راجع الصوره الاتيه اضافة سطر فاصل فى الرساله هناك طريقتان لعمل ذلك الطريقه الاولى تعتمد هذه الطريقه على استخدام الخاصيه Chr مع استخدام الرقم 10 الخاص باضافة سطر فاصل وتكون شكل الرساله كالاتى وبالتالى نجد شكل الكود كالأتى Sub Line_MsgBox() MsgBox "النص الاول" & Chr(10) & "النص الثانى" & Chr(10) & "النص الثالث", vbYesNoCancel + vbDefaultButton3, "العنوان" End Sub الطريقه الثانيه تعتمد على استخدام vbNewLine وتكون شكل الرساله كالاتى وبالتالى نجد شكل الكود كالأتى Sub Line_MsgBox1() MsgBox "النص الاول" & vbNewLine & "النص الثانى" & vbNewLine & "النص الثالث", vbYesNoCancel + vbDefaultButton3, "العنوان" End Sub كيفية استخدام الجمل الشرطيه if مع MsgBox مثال نفترض اننا لدينا الخليه a51 نريد ادخال الاسم ابراهيم فيها ونريد ان تظهر لنا رساله تفيد هل تريد ادخال الاسم فى الخليه نعم ام لا--ثم اذا كانت الاجابه بنعم تظهر لنا رساله تفيد بأنه تم ادخال الاسم بنجاح واما اذا كانت الاجابه ب لا تظهر رساله تفيد بانه قد تم الالغاء كما يتضح من الصوره فى حالة الضغط على نعم فى حالة الضغط على زر لا ولمعرفة كيفية عمل ذلك نستعرض محتوى الرساله النص----هل نريد ادخال الاسم فى الخليه a51 نعم ام لا الازرار-- زر نعم---زر لا العنوان--تنبيه راجع الكود الاتى Sub if_MsgBox() Range("a51").ClearContents ' حزف محتوى الخليه Dim Answer As String 'Answer متغير تم تعريفه على انه من النوع نصوص Answer = MsgBox("هل نريد ادخال الاسم فى الخليه a51 نعم ام لا", vbYesNo, "تنبيه") If Answer = vbYes Then Range("a51") = "إبراهيم" MsgBox "تم ادخال الاسم بنجاح", vbOKOnly, "تنبيه" ElseIf Answer = vbNo Then MsgBox "تم إلغاء عملية الادخال", vbOKOnly, "تنبيه" End If End Sub كيفية استخدام Select Case مع MsgBox مثال نفترض اننا لدينا الخليه a60 نريد ادخال الاسم أبوليله فيها ونريد ان تظهر لنا رساله تفيد هل تريد ادخال الاسم فى الخليه نعم ام لا--ثم اذا كانت الاجابه بنعم تظهر لنا رساله تفيد بأنه تم ادخال الاسم بنجاح واما اذا كانت الاجابه ب لا تظهر رساله تفيد بانه قد تم الالغاء كما يتضح من الصوره فى حالة الضغط على نعم فى حالة الضغط على زر لا ولمعرفة كيفية عمل ذلك نستعرض محتوى الرساله النص----هل نريد ادخال الاسم فى الخليه a60 نعم ام لا الازرار-- زر نعم---زر لا العنوان--تنبيه راجع الكود الاتى Sub SelectCase_MsgBox() Range("a60").ClearContents Dim lReply As Long Reply = MsgBox("هل نريد ادخال الاسم فى الخليه a60 نعم ام لا", vbYesNo, "تنبيه") Select Case Reply Case vbYes Range("a60") = "أبوليله" MsgBox "تم ادخال الاسم بنجاح", vbOKOnly, "تنبيه" Case vbNo MsgBox "تم إلغاء عملية الادخال", vbOKOnly, "تنبيه" End Select End Sub اتمنى ان يكون الدرس مفيدا مرفق شيت اكسيل به التطبيقات learnvba.rar تقبلوا تحياتى learnvba.rar
  16. اخى واستاذى محمد ناصر ...................... بالنسبه لطريقة الحل الخاصه بى فبصراحه انا جربت استخدام on error resume next .............................. طبعا الحل المقدم من حضرتك متقن و جميل والفكره هى الاجمل الكود يعمل بنجاح ولكن اذا جاء الميعاد وخرجت الرساله وقمنا بغلق الملف ثم قمنا بارجاع تاريخ الجهاز للخلف ثم اعدنا فتح الملف سنجد انه يمكننا الدخول الى الملف ارجو التعديل انا طبعا حاولت تخطى هذه المشكله والحمد لله نجحت فى ذلك ولكنى اطمع فى ان ارى طريقتك فى حل هذا اللغز تقبل تحياتى
  17. اخى عبد العزيز اشكرك على الكلمات الطيبه بارك الله فيك واسأل الله ان يزيدك من فضله وعلمه ............................................................ ولكن صبرا صبرا فلم ننتهى من هذه الدروس حتى الان وكما ذكرنا فى عنوان الموضوع انك باذن الله لن تحتاج الى السؤال حينما تتعامل مع VBA فى الحالات البسيطه بحيث يكون لديك معلومات تستطيع بها تنفيذ مطالبك وطبعا من ضمن هذه الدروس سيكون الترحيل باذن الله تقبل تحياتى
  18. اخى مختار ايه الجمال والحلاوه دى دائما ما تاتى بموضوع مفيد تقبل تحياتى
  19. اخى محمد تنمنى من الله عز وجل ان يمدنا ويرزقنا بما ينفعنا تقبل تحياتى اخى سعد بتغيب تغيب وتظهر على فترات ياريت متسبناش كتير عايزين نستفيد من خبراتك تقبل تحياتى
  20. اخى محمد لازلنا فى شرح الدروس اما مرحلة التطبيقات ستاتى لاحقا تقبل تحياتى اخى واستاذى عادل طبعا شرف كبير انك تكون احد المشاركين والمتابعين للموضوع بارك الله فيك تقبل تحياتى اخى ابو يوسف ملوحوظه فى محلها وان كنت اخدت بالى منها وللكن المشكله ان ارقام المشاركات فى النسخه الجديده للمنتدى مكنتش بتظهر وبعدين بدأت تظهر وبعدين معدتش بتظهر شوفت انت بقى اللغبطه دى بس على العموم ان شاء الله هيكون فيه رابط المشاركات الخاصه بكل درس تقبل تحياتى
  21. ياه KHMB فينك من زمان ياراجل لسه فاكر او مشاكه ما بينا اعتقد كانت بخصوص فاتوره على الاكسيل واعتقد ان بسببك تم انتاج العمل نموذج فاتوره بدون فورم على العموم متغيبش عننا كتير تقبل تحياتى اخى عبد العزيز طبعا الشكر موصول لاخونا KHMB على التوضيح وتحيه خاصه ليك طبعا على المتابعه المستمره للموضوع والتشجيع المستمر ليا علشان نستكمل الموضوع وان شاء الله رغم قله المشاهده وقلة المتابعين الا اننى مصر على عرض المعلومات التى لدى لعل شخص واحد فقط يستفيد منها تقبل تحاتى
  22. اخى قلم الاكسيل منور الموضوع مشكورا على الكلمات الطيبه اتمنى لك الاستفاده والتوفيق تقبل تحياتى
  23. اخى عبد العزيز منور طبعا بس انا مش فاهم انت تقصد ايه تقبل تحياتى
×
×
  • اضف...

Important Information