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

مش مهم تكون محترف vba ولكن مهم يكون عندك معلومات عن vba


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

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

بارك الله فيك أستاذنا القدير ابراهيم أبو ليله على الدّروس القيّمة .. فالانسان المبتديء منّا يحتاج فعلاً إلى هذه الجزئيات البسيطة نظريا لكنها معقّدة تطبيقيًّا بالنسبة لنا ..فمن الأزمة تلد الهمّة .. لكن سلاسة و بساطة أسلوبك جعلتنا نهضم الدروس بسرعة ..جزاك الله خيرًا و زادها بميزان حسناتك ..

                                                فائق إحتراماتي

562157127c50e___.thumb.gif.63a6d21a7a86d

 

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

اخى محمد حسن

منور الموضوع

وطبعا غيابك عنا يحزننا كثيرا

فحن دائما ما نريد الاستمتاع بكلامك الطيب

بارك الله فيك واتمنى لك التوفيق

تقبل تحياتى

..............................................

اخى

elameen

منور المشاركه واتمنى لك التويفيق

اليك الملف كاملا

تقبل تحياتى

 

نموزج-فاتورة-بدون-فورم-نهائى.rar

learnvba.rar

تم تعديل بواسطه إبراهيم ابوليله
رابط هذا التعليق
شارك

عزيزي  الاستاذ ابراهيم

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

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

اوفس 2003 وهو المتوفر لدى حاليا فهل لديكم فكرة عن كيف اجعله يعمل علي اكسيل 2003 ارجو افادتي

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

الدنيا وحسن الثواب في الاخرة وفقكم الله

elameen

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

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

الدرس الحادي عشر

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

يتم ذلك عن طريق الدخول الى محرر الاكواد ثم اختيار الشيت

الذى نريد تطبيق الكود فيه والضغط مرتين على اسم الشيت فى

محرر الاكواد لفتح نافذه الاكواد ثم كتابة الكود داخل النافذه

Untitled.thumb.jpg.4ad1ff2c4e1992a5484af

ده طبعا على سبيل المثال بالنسبه لاسم الشيت

ولكن اختيار الشيت هيكون على اساس اسماء الشيتات الى عندك انت طبعا

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

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

السلام عليكم

الاستاذ العزيز ابراهيم ابو ليلة .... بارك الله فيك 

شرح جميل وشيق وسلاسة فى التدرج بالمعلومة

 

ليا طلب صغير (منك او من أحد المشرفين على القسم)

ارجو فتح الموضوع من جديد او ترحيل تعقيبات وتعليقات شكر الأخوة الأعزاء فى موضوع مستقل ... بصراحة المعلومات القيمة يجب ان تتسلسل بدون مقاطعة لتفادى التشتيت... كما سبق ان عمل ذلك الاخ العزيز الا ستاذ ياسر ابو البراء فى موضوع افتح الباب وادخل لعالم البرمجة وكذلك الاستاذ حسام عيسى فى موضوعه النشط حاليا عن تصميم الفورم سلسلة علمنى كيف اصطاد ( الفورم ) Forms وتثبيت هذة الموضوعات فى قسم دورات الإكسل  

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


 

اخى اسامه البراوى

منور والله

شرف كبير ليا وجودك معانا

على العموم هيا الفكره حلوه اكيد

بس  

ممكن بعد اخر درس

اشوف وقت فاضى كده

وروح جاى فاتح موضوع جديد

وعامل الدروس كلها فى نفس الموضوع

على العموم فكر معايا

تقبل تحياتى

 

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

الاخ ابراهيم ابو ليلة

مجهود ممتاز

 

اخى واستاذى

مجدى يونس

منور الموضوع

وشرف ليا طبعا

ان اشوفك متابع الموضوع

بارك الله فيك

تقبل تحياتى

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

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

الدرس الثاني عشر

12-Window Events

وسوف نتناول فى هذه الدرس الاتى

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

تنشيط نافذة معينه مفتوحه

إخفاء أو إظهار نافذة مصنف مفتوح

إغلاق نافذة مصنف

فتح نافذه جديد لمصنف معين

تكبير أو تصغبر أو الوضع العادى لنافذة مصنف

عمل زووم لنافذة معينه

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

إخفاء رؤوس الأعمدة والصفوف فى مصنف معين

إخفاء شريط التمرير الأفقي فى مصنف معين

إخفاء شريط التمرير العمودي فى مصنف معين

عرض جميع صيغ المعدلات فى مصنف معين

إخفاء خطوط الشبكةفى مصنف معين

تلوين خطوط الشبكة فى مصنف معين

عمل معاينة لفواصل الصفحات فى مصنف معين

إخفاء القيم الصفرية فى مصنف معين

اظهار اسم الورقة الحالية في رساله

اظهار عنوان الخلية النشطة فى مصنف معين في رساله

اظهار عنوان مدى محدد  في رساله

تجميد الألواح داخل فى مصنف معين

عمل انقسام فى مصنف معين

معرفة عدد الأجزاء المنقسمة فى مصنف معين

.................................................................................................................................................................................

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

untitled.thumb.JPG.443a3a103be1bb46846bc

لاحظ هنا ان اسم المصنف المفتوح امامك هو

LEARN--VBA.xlsb

طب لو احنا عايزين نغيره ونخليه مثلا

مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb

untitled.thumb.JPG.11bf3f359cae0e6ba4ac5

 سيكون شكل الكود

Sub A_Window_Caption()
ActiveWindow.Caption = "مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb"
End Sub

تنشيط نافذة معينه مفتوحه

untitled.thumb.JPG.63d8a8c3803d5e0e33241

كما يتضح من الصوره ان هناك اكثر من نافذة اكسيل مفتوحه

ولكن المصنف النشط هو 9-sky201.xlsb

فلو افترضنا اننا نريد اننا عايزين نخلى المصنف النشط هو LEARN--VBA.xlsb

ليصبح هكذا

untitled.thumb.JPG.749d709545fe0a8038053

 سيكون شكل الكود

Sub Windows_Activate()
Windows("LEARN--VBA.xlsb").Activate
End Sub

إخفاء أو إظهار إطار نافذة مصنف مفتوح

كما يتضح من الصوره اننا لدينا اكثر من مصنف مفتوح

untitled.thumb.JPG.63d8a8c3803d5e0e33241

فلو اردنا اخفاء نافذه المصنف 9-sky201.xlsb

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

 سيكون شكل الكود

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

مفتوح مره واحده

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

ولفتحه مرتين هكذا

untitled.thumb.JPG.c53a2e552d7a8ca7480d6

لاحظ فى الصوره انه تم اضاف شيت جديد باسم افتراضى 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

عمل زووم لنافذة معينه

untitled.thumb.JPG.e1911a81bb18ca94afc70

سيكون الكود كالاتى

Sub WindowZOOM_()
Windows("LEARN--VBA.xlsb").Zoom = 80
End Sub

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

untitled.thumb.JPG.e79e177fe04ef8581eb65

لاحظ اختفاء اسماء الشيتات بعد تنفيذ الكود

سيكون الكود كالاتى

Sub DisplayWorkbookTabs_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = True
End Sub

إخفاء رؤوس الأعمدة والصفوف بمصنف معين

untitled.thumb.JPG.e8c0f26854d6dade898e0

سيكون الكود كالاتى

Sub DisplayHeadings_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayHeadings = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayHeadings = True
End Sub

إخفاء شريط التمرير الأفقي  فى مصنف معين

untitled.thumb.JPG.348e4dc5a7458a6ab3045

سيكون الكود كالاتى

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

عرض جميع صيغ المعدلات فى مصنف معين

untitled.thumb.JPG.7b0444968a420e790abba

سيكون الكود كالاتى

Sub DisplayFormulas_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayFormulas = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayFormulas = True
End Sub

 

 

 

 

 

 

 

 

 

 

انتظرو باقى الدرس

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

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

 

الدرس الثاني عشر

12-Window Events

وسوف نتناول فى هذه الدرس الاتى

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

تنشيط نافذة معينه مفتوحه

إخفاء أو إظهار نافذة مصنف مفتوح

إغلاق نافذة مصنف

فتح نافذه جديد لمصنف معين

تكبير أو تصغبر أو الوضع العادى لنافذة مصنف

عمل زووم لنافذة معينه

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

إخفاء رؤوس الأعمدة والصفوف فى مصنف معين

إخفاء شريط التمرير الأفقي فى مصنف معين

إخفاء شريط التمرير العمودي فى مصنف معين

عرض جميع صيغ المعدلات فى مصنف معين

إخفاء خطوط الشبكة فى مصنف معين

تلوين خطوط الشبكة فى مصنف معين

عمل معاينة لفواصل الصفحات فى مصنف معين

إخفاء القيم الصفرية فى مصنف معين

اظهار اسم الورقة النشطه في رساله

اظهار عنوان الخلية النشطة فى مصنف معين في رساله

اظهار عنوان مدى محدد  في رساله

تجميد الألواح داخل فى مصنف معين

عمل انقسام فى مصنف معين

.................................................................................................................................................................................

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

untitled.thumb.JPG.443a3a103be1bb46846bc

لاحظ هنا ان اسم المصنف المفتوح امامك هو

LEARN--VBA.xlsb

طب لو احنا عايزين نغيره ونخليه مثلا

مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb

untitled.thumb.JPG.11bf3f359cae0e6ba4ac5

 سيكون شكل الكود

Sub A_Window_Caption()
ActiveWindow.Caption = "مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb"
End Sub

تنشيط نافذة معينه مفتوحه

untitled.thumb.JPG.63d8a8c3803d5e0e33241

كما يتضح من الصوره ان هناك اكثر من نافذة اكسيل مفتوحه

ولكن المصنف النشط هو 9-sky201.xlsb

فلو افترضنا اننا نريد اننا عايزين نخلى المصنف النشط هو LEARN--VBA.xlsb

ليصبح هكذا

untitled.thumb.JPG.749d709545fe0a8038053

 سيكون شكل الكود

Sub Windows_Activate()
Windows("LEARN--VBA.xlsb").Activate
End Sub

إخفاء أو إظهار إطار نافذة مصنف مفتوح

كما يتضح من الصوره اننا لدينا اكثر من مصنف مفتوح

untitled.thumb.JPG.63d8a8c3803d5e0e33241

فلو اردنا اخفاء نافذه المصنف 9-sky201.xlsb

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

 سيكون شكل الكود

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

مفتوح مره واحده

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

ولفتحه مرتين هكذا

untitled.thumb.JPG.c53a2e552d7a8ca7480d6

لاحظ فى الصوره انه تم اضاف شيت جديد باسم افتراضى 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

عمل زووم لنافذة معينه

untitled.thumb.JPG.e1911a81bb18ca94afc70

سيكون الكود كالاتى

Sub WindowZOOM_()
Windows("LEARN--VBA.xlsb").Zoom = 80
End Sub

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

untitled.thumb.JPG.e79e177fe04ef8581eb65

لاحظ اختفاء اسماء الشيتات بعد تنفيذ الكود

سيكون الكود كالاتى

Sub DisplayWorkbookTabs_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = True
End Sub

إخفاء رؤوس الأعمدة والصفوف بمصنف معين

untitled.thumb.JPG.e8c0f26854d6dade898e0

سيكون الكود كالاتى

Sub DisplayHeadings_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayHeadings = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayHeadings = True
End Sub

إخفاء شريط التمرير الأفقي  فى مصنف معين

untitled.thumb.JPG.348e4dc5a7458a6ab3045

سيكون الكود كالاتى

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

عرض جميع صيغ المعدلات فى مصنف معين

untitled.thumb.JPG.7b0444968a420e790abba

سيكون الكود كالاتى

Sub DisplayFormulas_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayFormulas = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayFormulas = True
End Sub

إخفاء خطوط الشبكة فى مصنف معين

untitled.thumb.JPG.c18b4c7d5941deecf35b9

سيكون الكود كالاتى

Sub DisplayGridlines_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayGridlines = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayGridlines = True
End Sub

تلوين خطوط الشبكة فى مصنف معين

untitled.thumb.JPG.79a7949b1b88ddd22aec1

سيكون الكود كالاتى

Sub DisplayGridlines_()
Windows("LEARN--VBA.xlsb").GridlineColorIndex = 5
End Sub

عمل معاينة لفواصل الصفحات فى مصنف معين

untitled.thumb.JPG.ef238b92ed4b8c8be7fa4

سيكون الكود كالاتى

Sub WindowView_()
Windows("LEARN--VBA.xlsb").View = xlNormalView
End Sub

إخفاء القيم الصفرية فى مصنف معين

 

سيكون الكود كالاتى

Sub DisplayZeros_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayZeros = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayZeros = True
End Sub

اظهار اسم الورقة النشطه في رساله

سيكون الكود كالاتى

Sub MsgBoxActiveSheet_()
MsgBox Windows(1).ActiveSheet.Name
End Sub

اظهار اسم الخليه النشطه محدد  في رساله

Sub MsgBoxActiveSheet_()
MsgBox Windows("LEARN--VBA.xlsb").ActiveCell.Address
End Sub

اظهار عنوان مدى محدد  في رساله

Sub MsgBoxRangeSelection_()
MsgBox Windows("LEARN--VBA.xlsb").RangeSelection.Address
End Sub

تجميد الألواح داخل فى مصنف معين

Sub MsgBoxActiveSheet_()
Windows("LEARN--VBA.xlsb").FreezePanes = True
'Windows("LEARN--VBA.xlsb").FreezePanes = false
End Sub

عمل انقسام فى مصنف معين

Sub Split_()
Windows("LEARN--VBA.xlsb").Split = True
'Windows("LEARN--VBA.xlsb").Split = false
End Sub

اتمنى ان يكون الدرس مفيدا

مرفق شيت اكسيل به التطبيقات

 learnvba.rar

تقبلوا تحياتى

 

لايب

تم تعديل بواسطه إبراهيم ابوليله
رابط هذا التعليق
شارك

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

 

الدرس الثاني عشر

12-Window Events

وسوف نتناول فى هذه الدرس الاتى

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

تنشيط نافذة معينه مفتوحه

إخفاء أو إظهار نافذة مصنف مفتوح

إغلاق نافذة مصنف

فتح نافذه جديد لمصنف معين

تكبير أو تصغبر أو الوضع العادى لنافذة مصنف

عمل زووم لنافذة معينه

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

إخفاء رؤوس الأعمدة والصفوف فى مصنف معين

إخفاء شريط التمرير الأفقي فى مصنف معين

إخفاء شريط التمرير العمودي فى مصنف معين

عرض جميع صيغ المعدلات فى مصنف معين

إخفاء خطوط الشبكة فى مصنف معين

تلوين خطوط الشبكة فى مصنف معين

عمل معاينة لفواصل الصفحات فى مصنف معين

إخفاء القيم الصفرية فى مصنف معين

اظهار اسم الورقة النشطه في رساله

اظهار عنوان الخلية النشطة فى مصنف معين في رساله

اظهار عنوان مدى محدد  في رساله

تجميد الألواح داخل فى مصنف معين

عمل انقسام فى مصنف معين

.................................................................................................................................................................................

تغيير التسمية التوضيحية لإسم نافذة المصنف النشط

untitled.thumb.JPG.443a3a103be1bb46846bc

لاحظ هنا ان اسم المصنف المفتوح امامك هو

LEARN--VBA.xlsb

طب لو احنا عايزين نغيره ونخليه مثلا

مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb

untitled.thumb.JPG.11bf3f359cae0e6ba4ac5

 سيكون شكل الكود

Sub A_Window_Caption()
ActiveWindow.Caption = "مش مهم تكون محترفvbaالمهم تكون عندك معلومات عنvba.xlsb"
End Sub

تنشيط نافذة معينه مفتوحه

untitled.thumb.JPG.63d8a8c3803d5e0e33241

كما يتضح من الصوره ان هناك اكثر من نافذة اكسيل مفتوحه

ولكن المصنف النشط هو 9-sky201.xlsb

فلو افترضنا اننا نريد اننا عايزين نخلى المصنف النشط هو LEARN--VBA.xlsb

ليصبح هكذا

untitled.thumb.JPG.749d709545fe0a8038053

 سيكون شكل الكود

Sub Windows_Activate()
Windows("LEARN--VBA.xlsb").Activate
End Sub

إخفاء أو إظهار إطار نافذة مصنف مفتوح

كما يتضح من الصوره اننا لدينا اكثر من مصنف مفتوح

untitled.thumb.JPG.63d8a8c3803d5e0e33241

فلو اردنا اخفاء نافذه المصنف 9-sky201.xlsb

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

 سيكون شكل الكود

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

مفتوح مره واحده

untitled.thumb.JPG.4f133f21b9c9701ddaa1c

ولفتحه مرتين هكذا

untitled.thumb.JPG.c53a2e552d7a8ca7480d6

لاحظ فى الصوره انه تم اضاف شيت جديد باسم افتراضى 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

عمل زووم لنافذة معينه

untitled.thumb.JPG.e1911a81bb18ca94afc70

سيكون الكود كالاتى

Sub WindowZOOM_()
Windows("LEARN--VBA.xlsb").Zoom = 80
End Sub

إخفاء علامات التبويب لأوراق العمل فى مصنف معين

untitled.thumb.JPG.e79e177fe04ef8581eb65

لاحظ اختفاء اسماء الشيتات بعد تنفيذ الكود

سيكون الكود كالاتى

Sub DisplayWorkbookTabs_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayWorkbookTabs = True
End Sub

إخفاء رؤوس الأعمدة والصفوف بمصنف معين

untitled.thumb.JPG.e8c0f26854d6dade898e0

سيكون الكود كالاتى

Sub DisplayHeadings_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayHeadings = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayHeadings = True
End Sub

إخفاء شريط التمرير الأفقي  فى مصنف معين

untitled.thumb.JPG.348e4dc5a7458a6ab3045

سيكون الكود كالاتى

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

عرض جميع صيغ المعدلات فى مصنف معين

untitled.thumb.JPG.7b0444968a420e790abba

سيكون الكود كالاتى

Sub DisplayFormulas_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayFormulas = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayFormulas = True
End Sub

إخفاء خطوط الشبكة فى مصنف معين

untitled.thumb.JPG.c18b4c7d5941deecf35b9

سيكون الكود كالاتى

Sub DisplayGridlines_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayGridlines = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayGridlines = True
End Sub

تلوين خطوط الشبكة فى مصنف معين

untitled.thumb.JPG.79a7949b1b88ddd22aec1

سيكون الكود كالاتى

Sub DisplayGridlines_()
Windows("LEARN--VBA.xlsb").GridlineColorIndex = 5
End Sub

عمل معاينة لفواصل الصفحات فى مصنف معين

untitled.thumb.JPG.ef238b92ed4b8c8be7fa4

سيكون الكود كالاتى

Sub WindowView_()
Windows("LEARN--VBA.xlsb").View = xlNormalView
End Sub

إخفاء القيم الصفرية فى مصنف معين

 

سيكون الكود كالاتى

Sub DisplayZeros_()
' اخفاء
Windows("LEARN--VBA.xlsb").DisplayZeros = False
' اظهار
'Windows("LEARN--VBA.xlsb").DisplayZeros = True
End Sub

اظهار اسم الورقة النشطه في رساله

سيكون الكود كالاتى

Sub MsgBoxActiveSheet_()
MsgBox Windows(1).ActiveSheet.Name
End Sub

اظهار اسم الخليه النشطه محدد  في رساله

Sub MsgBoxActiveSheet_()
MsgBox Windows("LEARN--VBA.xlsb").ActiveCell.Address
End Sub

اظهار عنوان مدى محدد  في رساله

Sub MsgBoxRangeSelection_()
MsgBox Windows("LEARN--VBA.xlsb").RangeSelection.Address
End Sub

تجميد الألواح داخل فى مصنف معين

Sub MsgBoxActiveSheet_()
Windows("LEARN--VBA.xlsb").FreezePanes = True
'Windows("LEARN--VBA.xlsb").FreezePanes = false
End Sub

عمل انقسام فى مصنف معين

Sub Split_()
Windows("LEARN--VBA.xlsb").Split = True
'Windows("LEARN--VBA.xlsb").Split = false
End Sub

اتمنى ان يكون الدرس مفيدا

مرفق شيت اكسيل به التطبيقات

learnvba.rar

تقبلوا تحياتى

 

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

 

 

 

 

 

اخى واستاذى ياسر

اخى واستاذى عادل

شرف كبير طبعا لى ان 2 من الاساتذه الافاضل

يشرفوا الموضوع

لا مش بس كده ده كمان يشجعونى بكلمات  جميله

تعبر عن مدى الحب بيننا

تقبلو تحياتى

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

  • 1 month later...

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

بس لو يتم تنقيح الموضوع وحذف الردود والتعليقات منه ليكون فيه سلاسة للمتابع وعدم تشتيت ذهن سيكون روووووعة

او اخراجه في كتاب اكتروني pdf

بعد الانتهاء طبعا

ياسلام ياسلام

تم تعديل بواسطه السيفاني
  • Like 1
رابط هذا التعليق
شارك

في 12/8/2015 at 13:51, السيفاني said:

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

بس لو يتم تنقيح الموضوع وحذف الردود والتعليقات منه ليكون فيه سلاسة للمتابع وعدم تشتيت ذهن سيكون روووووعة

او اخراجه في كتاب اكتروني pdf

بعد الانتهاء طبعا

ياسلام ياسلام

اخى السيفانى

ان شاء الله

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

ثم بعد ذلك

يتم تنقيح الموضوع


ارجو التماس العزر فى التأخير

وفى توقف الدروس ولكن

ان شاء الله فى القريب نستكمل باقى الدروس

تقبل تحياتى

 

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

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

اخونا واستاذنا الفاضل إبراهيم ابو ليلة حفظه الله

دروس مفيدة وارائعة وتعتبر مرجع للتعلم المحترف

جزاك الله خيرا وبارك فيك

اخوكم في الله

ابو الحسن والحسين

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

  • 4 months later...

السلام عليكم 

الأستاذ الحبيب ابراهيم أبو ليلى 

تماما كإني جالس بدورة VBA بل أفضل بمليون مرة 

جهزت ملف إكسل وبدأت بالأكواد التي تشرحها واحد واحد 

فأنا مبتدىء بهذا المجال وإذا بتكمل معنا بهالطريقة الروعة راح تخرَج طلاب على مستوى ممتاز :wink2: 

الرجاء المتابعة  الله محيي أصلك يا ملك

وفقك الله وجعل كل هذا في ميزان حسناتك

:dance1::signthankspin:

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

اؤيد أخى وائل يونس سلامى

نود من الأخ الكريم إكمال بقية دروسه بنفس طريقته الشيقه أنا مبتدئ أيضا

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information