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

امثلة عن كيفية استخدام أدوات الفورم- ضاحي الغريب (( متجدد ان شاء الله))


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

نريد من الاخ الغريب ان يكمل سلسلة الدروس بارك الله فيه وان يجعل ضمن ادخال البيانات يعني زر الاضافة ان تكون ضمن هذه الاضافة صورة صاحب هذه البيانات تدرج عن طريق الاضافة داخل قاعدة بيانات الاكسل

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

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

  • 1 month later...

الدرس الثاني

سوف نتعرف فيه علي 

1- ادراج TextBox

2- ادراج ComboBox

3- ادراج  OptionButton

4- ادراج CheckBox

5- مسح الفورم من البيانات المدخلة لادخال بيانات جديدة

6- اضافة عناصر للكمبوبوكس (وسوف نتعرف تباعا علي اكثر من طريقة لاضافة عناصر للكمبوبوكس)

 

 

 

 

ثالثا اضافة عناصر للكمبوبوكس 

مثال : - اريد اضافة شهور السنة لتظهر كقائمة اختار منها

سوف استخدم الكود التالي في حدث انطلاق الفورم (( UserForm_Initialize)) كالتالي

Private Sub UserForm_Initialize()

For n = 1 To 12
ComboBox1.AddItem Format(DateSerial(2013, n, 1), "mmmm")
Next n

End Sub

 

 

أستاذ / ضاحي ..

 

أرجو منك شرح عن كيفية إضافة داتا للـ ComboBox تكون بيانات مختلفة

مثلاً : ضاحي 1 ، ضاحي 2 ، ضاحي 3

 

بنفس الطريقة التي وضعتها بتاريخ السنة الميلادي

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

 

 

 

أستاذ / ضاحي ..

 

أرجو منك شرح عن كيفية إضافة داتا للـ ComboBox تكون بيانات مختلفة

مثلاً : ضاحي 1 ، ضاحي 2 ، ضاحي 3

 

بنفس الطريقة التي وضعتها بتاريخ السنة الميلادي

 

أخي// بن خليفة

الكود سيكون كالتالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
For n = 1 To 5
ComboBox1.AddItem "ضاحي" & n
Next n
End Sub

بن خليفة.rar

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

نريد من الاخ الغريب ان يكمل سلسلة الدروس بارك الله فيه وان يجعل ضمن ادخال البيانات يعني زر الاضافة ان تكون ضمن هذه الاضافة صورة صاحب هذه البيانات تدرج عن طريق الاضافة داخل قاعدة بيانات الاكسل

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

أخي الفاضل الأستاذ // تومي 

بارك الله فيك علي مرورك الجميل

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

تقبل تحياتي

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

 

 

 

 

أستاذ / ضاحي ..

 

أرجو منك شرح عن كيفية إضافة داتا للـ ComboBox تكون بيانات مختلفة

مثلاً : ضاحي 1 ، ضاحي 2 ، ضاحي 3

 

بنفس الطريقة التي وضعتها بتاريخ السنة الميلادي

 

أخي// بن خليفة

الكود سيكون كالتالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
For n = 1 To 5
ComboBox1.AddItem "ضاحي" & n
Next n
End Sub

 

والله يعجز لساني عن شكرك يا أستاذ ضاحي

وفهمت الكود كله لكن ..

لو كان عندي عدة أسماء مختلفة 

هل أضع الأسماء في فواصل وبدون n بعد الاسم ؟؟

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

والله يعجز لساني عن شكرك يا أستاذ ضاحي

وفهمت الكود كله لكن ..

لو كان عندي عدة أسماء مختلفة 

هل أضع الأسماء في فواصل وبدون n بعد الاسم ؟؟

اخي بن خليفة

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

لاضافة عناصر محتلفة او اسماء اقائمة الكبوبوكس إستخدم الكود التالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
Dim myArray As Variant
myArray = Array("عبدالله", "بن خليفة", "علي", "إبراهيم", "صفوت", "اوفيسنا")
With Me.ComboBox1
.Clear
.List = myArray
End With
End Sub

بن خليفة 2.rar

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

 

والله يعجز لساني عن شكرك يا أستاذ ضاحي

وفهمت الكود كله لكن ..

لو كان عندي عدة أسماء مختلفة 

هل أضع الأسماء في فواصل وبدون n بعد الاسم ؟؟

اخي بن خليفة

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

لاضافة عناصر محتلفة او اسماء اقائمة الكبوبوكس إستخدم الكود التالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
Dim myArray As Variant
myArray = Array("عبدالله", "بن خليفة", "علي", "إبراهيم", "صفوت", "اوفيسنا")
With Me.ComboBox1
.Clear
.List = myArray
End With
End Sub

 

 

أستاذ / ضاحي

الله يسعد قلبك وأيامك يا غالي

والله بدون مجامله .. أجمل ناس لأجمل منتديات

 

:signthankspin: 

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

 

والله يعجز لساني عن شكرك يا أستاذ ضاحي

وفهمت الكود كله لكن ..

لو كان عندي عدة أسماء مختلفة 

هل أضع الأسماء في فواصل وبدون n بعد الاسم ؟؟

اخي بن خليفة

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

لاضافة عناصر محتلفة او اسماء اقائمة الكبوبوكس إستخدم الكود التالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
Dim myArray As Variant
myArray = Array("عبدالله", "بن خليفة", "علي", "إبراهيم", "صفوت", "اوفيسنا")
With Me.ComboBox1
.Clear
.List = myArray
End With
End Sub

 

 

 

أستاذ ضاحي ..

عندي طلب ومشكلة :

أولا الطلب : 

ماهي طريقة الترحيل للبيانات بشرط أن تكون خانة الـ Combobox مدخل فيها بيانات وأن لا تكون فارغة عن الضغط على زر الإدخال

ثانياً : المشكلة :

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

أرجو المساعدة

لك كل التقدير

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

ماشاء الله .. بارك الله فيك  يا أخ ضاحي أتمنى لك من كل قلبي بالصحة والعافية ويجعلك الله دائما نبراس في نشر العلم والتعلم

 

 

احسنت  ولكن المشكله اننا ميح  بالاقلزي      

أخواني أخي /نضال وأخي/ زمزم

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

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

تقبل تحياتي

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

 

 

والله يعجز لساني عن شكرك يا أستاذ ضاحي

وفهمت الكود كله لكن ..

لو كان عندي عدة أسماء مختلفة 

هل أضع الأسماء في فواصل وبدون n بعد الاسم ؟؟

اخي بن خليفة

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

لاضافة عناصر محتلفة او اسماء اقائمة الكبوبوكس إستخدم الكود التالي والتطبيق بالمرفقات

Private Sub UserForm_Initialize()
Dim myArray As Variant
myArray = Array("عبدالله", "بن خليفة", "علي", "إبراهيم", "صفوت", "اوفيسنا")
With Me.ComboBox1
.Clear
.List = myArray
End With
End Sub

 

 

 

أستاذ ضاحي ..

عندي طلب ومشكلة :

أولا الطلب : 

ماهي طريقة الترحيل للبيانات بشرط أن تكون خانة الـ Combobox مدخل فيها بيانات وأن لا تكون فارغة عن الضغط على زر الإدخال

ثانياً : المشكلة :

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

أرجو المساعدة

لك كل التقدير

 

أخي الفاضل // بن خليفة

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

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

راجع دروس الدورة تجد امثلة كثيرة مع الشرح الوافي لكود الادخال والبحث والتعديل والحذف وموضوعات الفورم

تقبل تحياتي

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

  • 1 month later...

الأستاذ ضاحي الغريب حفظك الله

 

اشكرك كثير على شرحك الأكثر من رائع اثابك الله من واسع فضله وجعله في ميزان حسناتك فلقد افدتنا كثير من شرحك

 

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

 

الا فقط هذا الامر

 

userform.printform

 

وهذا الامر يطبع لك الصفحه على أي ماهي عليه ان كان محدد طباعة بالعرض طبع او بالطول طبع

 

لكن كنت ارغب ان يكون تحديد اتجاه الطباعه من ضمن الكود

 

ولو تضع من فضلك كود يحدد اتجاه الطباعة في الفورم

 

ولك مني جزيل الشكر

 

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

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

الأستاذ ضاحي الغريب حفظك الله

 

اشكرك كثير على شرحك الأكثر من رائع اثابك الله من واسع فضله وجعله في ميزان حسناتك فلقد افدتنا كثير من شرحك

 

وجزاااااااااااك الله كل خير على كل حرف .............

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

  • 3 weeks later...
  • 5 weeks later...

 

 

اخى ضاحى ابوعمرو

حاولت جاهدا دون فائدة

ان تظهر Tree View Control

كليك يمين على الادوات وتختار ADDITIONAL CONTROL

 

ولكن عندى لا يظهر شئ بعد الاختيار 

ارجو التوضيح

 

وبعد ذلك قم بتشغيل الاكسيل وجرب هتلاقي (( Additional Controls Dialog Box )) شغال ان شاء الله

 

20130608043609.png

 

جرب واعلمني بالنتيجة

تقبل تحياتي

 

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

بالنسبة لأدوات سابقاً طبقته بالخطوات ولكن لم يظهر لدي. أرجو إفادتي.

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

370e.png

zfbn.png

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

الصفحات المتعددة  MultiPage control

الأداة السحرية في اليوزرفورم

 

 وما يدور حوله من تساؤلات كثيرة من البعض 

testln.gif

 

وتلبية لطلب اخي الحبيب ابو عبدالرحمن أ/ سعد عابد في تساؤله حول ادارة الخصائص المتقدمة للصفحات المتعددة داخل اليوزفورم والذي طرح تساؤله في موضوع (كنترول زاد - المرحلة الابتدائية ) المشاركة رقم 33 من هنا

 

أخترت ان تكون الاجابة منفصلة بشيء من التفصيل لتعميم الفائدة وسهولة البحث في موضوعنا هذا

 (( أمثلة عن كيفية استخدام أدوات الفورم ))

 

 

سبق وقمت بشرح أداة الصفحات المتعددة MultiPage control  في المشاركة رقم (84) للاطلاع اضغط هنا وتعرفنا من خلالها علي أداة الصفحات المتعددة كالتالي

يتألف عنصر تحكم الصفحات المتعددة من واحد أو أكثر من الصفحات، تحتوي كل منها على مجموعتها الخاصة من الضوابط والأدوات المختلفة . يتم استخدام عنصر الصفحات المتعددة عندما كنت ترغب في التعامل مع كمية كبيرة من البيانات التي يمكن تصنيفها إلى فئات متعددة، حيث يمكن إنشاء صفحة منفصلة لكل فئة.

ويمكنك وضــع الضوابط التي تمكنك من ادارة العناصر والادوات  في كل صفحة في عنصر تحكم متعدد الصفحات بكل يسر وسهولة ، على خلاف ذلك جزء من في UserForm. عنصر تحكم الصفحات المتعددة لديها العديد من الصفحات، حيث اختيار صفحة يجعلها واحدة الحالية (مما يجعلها مرئية) في الوقت الذي يختبئ الآخرين.

كل صفحة من عنصر تحكم المتعدد الصفحات لديها ترتيب الجدولة الخاصة. يتم ترقيم الصفحات من صفر، ولتحديد الصفحة الأولى في عنصر تحكم متعدد الصفحات، استخدم التعليمات البرمجية: MultiPage1.Value = 0. افتراضيا.

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

ملاحظة: كل صفحة من عنصر التحكم المتعدد MultiPage سوف يكون منفصل ويمكن استخدام مجموعة او اكثرمن عناصر وادوات التحكم الأخري خلالها ، بغض النظر عن ما إذا كانت جميع الأدوات (عبر كل الصفحات ) لها نفس اسم مجموعة

ولشيء من التفصيل مع الامثلة العملية  يمكن الرجوع للموضوع مشاركة رقم 84 (من هنا)

ومراجعة موضوع شرح التعرف الخصائص المختلفة لادوات الفورم والتحكم فيها فيها عن طريق التعديل بخواصها المشاركة رقم 205  (من هنا)

 

 

وتعرفنا ايضا الفرق بين اداة الصفحات المتعددة وأداة TabStrip Control كالتالي

عرفنا ان عنصر تحكم متعددةالصفحات MultiPage هو وعاء لعناصر التحكم ، كل صفحة تحتوي على مجموعة منفصلة من الضوابط واختيار صفحة (أي جعلها مرئية) يخفي الصفحات الأخرى منها .

أما عنصر تحكم  TabStrip يحتوي على مجموعة متسقة من الضوابط عبر كافة علامات التبويب (في شريط علامات التبويب). مضمون الضوابط يتغير عندما يتم تحديد علامة تبويب مختلفة ولكن وضوح أو تخطيط عناصر التحكم تبقى نفسها."

ويمكن الرجوع للمشاركة رقم (105) من هنا لشيء من التفصيل .

 

لكن درسنا اليوم

 تطبيقات عملية  للخصائص المتقدمة لأداة التحكم

(الصفحات المتعددة - MultiPage control )

وكيفية التحكم فيها بأكثر من طريقة

 

testln.gif

IDFg8V.png

 

 

testln.gif

مثـال (1)

سنقوم بانشاء يوزر فورم بسيط واضافة عنصر الصفحات المتعددة MultiPage  وسوف نتعرف معا علي كيفية اعطاء اسم لكل صفحة عن طريق الكود  والانتقال بين الصفحات عن طريق اداة الــ ( SpinButton ) وكذلك اضافة عنوان يتغير مع تغيير الصفحة .

 

CoJ208.png

 

 

 

اولا :-  في حدث التغيير Change  لاداة الصفحات المتعددة  MultiPage1 نضيف الكود التالي لتحديد اسماء الصفحات وكذلك لتغير العنوان مع كل صفحة بالضافة لعرض اسم الصفحة اعلي الفورم

 

ZTlA2h.png

Private Sub MultiPage1_Change()
'لتغير بيانات العنوان وعنوان الفورم مع تغيير الصفحة
Select Case MultiPage1.Value
Case 0
Lb_Information.Caption = "شاشة أدخال البيانات"
Me.Caption = MultiPage1.Pages(0).Caption
Case 1
Lb_Information.Caption = "شاشة البحث"
Me.Caption = MultiPage1.Pages(1).Caption
Case 2
Lb_Information.Caption = "شاشة التقارير والطباعة"
Me.Caption = MultiPage1.Pages(2).Caption
End Select
End Sub

ثانيا :- في حدث تشغيل الفورم UserForm_Activate نحدد الحد الادني والاعلي لاداة التحكم SpinButton

Private Sub UserForm_Activate()
'في حدث تشغيل الفورم
'تعين الحد الادني والاقصي لمفتاح التنقل
  With SpinButton1
    .Min = 0
    .Max = MultiPage1.Pages.Count
  End With

End Sub

ثالثا:- في حدث الـChange لاداة التحكم SpinButton1 

Private Sub SpinButton1_Change()
 'في حدث التغير لمفتاح الانتقال
   MultiPage1.Value = SpinButton1.Value - 1
End Sub

رابعا :- في حدث انطلاق الفورم نحدد صفحة البداية ولتكن مثلا الصفحة الاولي -  للصفحات المتعددة

Private Sub UserForm_Initialize()
'في حدث انطلاق الفورم
'لتحديد صفحة البداية الصفحة الاولي
MultiPage1.Value = 0
     End Sub

MrFUol.png

 

 

التطبيق العملي بالمرفقات انظر Example1

 

 

 

 

testln.gif

مثال (2)

سوف نتعرف من خلاله علي كيفية التحكم في عرض الصفحات عن طريق زر (التالي والسابق)

ar58dU.png

 

اولا: - نضيف زرأمر CommandButton ونخصصه لوظيفة (التالي) وأخر نخصصه لزر (السابق)

 

 

ثانيا:- حدث الضغط علي زر امر (التالي) نضيف مايلي

8r4yfW.png

Private Sub cmdNext_Click()
'في حدث الضفط علي زر التالي
 Dim idxPage As Integer
   idxPage = Me.MultiPage1.Value + 1
   If idxPage = 3 Then Exit Sub
   Me.MultiPage1.Value = idxPage
End Sub

ثالثا:- في حدث الضغط علي زر أمر (السابق)

Private Sub cmdPrevious_Click()
 'في حدث الضغط علي زر السابق
  If Me.MultiPage1.Value = 0 Then
    Exit Sub
   Else
     Me.MultiPage1.Value = Me.MultiPage1.Value - 1
   End If
 
End Sub

التطبيق بالمرفقات انظر Example2

 

 

testln.gif

 

مثال(3)

استخدام زر امر واحد للتنقل بين الصفحات

 

5cqHgC.png

 

iJKvzc.png

Private Sub Cmb_Move_Click()
'في حدث الضغط علي زر التحرك بين الصفحات
Dim idxPage As Integer
   idxPage = Me.MultiPage1.Value + 1
   If idxPage = 3 Then idxPage = 0
   Me.MultiPage1.Value = idxPage
End Sub

التطبيق بالمرفقات انظر Example3

 

 

testln.gif

مثال (4)

الانتقال بين الصفحات باستخدام الـVBA مع اخفاء جميع الصفحات واظهار صفحة محددة وربطها بزر امر

 

nobyUv.png

 

اولا :- نضيف كود اخفاء الصفحات خلال تشغيل الفورم

WFNBB3.png

Sub CtrlPages()
'لاخفاء جميع الصفحات
With Me
For Each pPage In .MultiPage1.Pages
    pPage.Visible = 0
Next pPage
'لتحديد استايل عرض الصفحات بدون عنواين
.MultiPage1.Style = fmTabStyleNone
End With: End Sub 

ثانيا:-  نقوم باضافة عدد 3 زر امر 

1- زر امر مثلا لشاشة الادخال وفي حدث الكليك نضيف الكود التالي

vBj43j.png

Private Sub Cmb_Entry_Click()
With Me
'استدعاء كود الاخفاء
CtrlPages
'اظهار الصفحة الأولي
.MultiPage1.Pages(0).Visible = True
.MultiPage1.Value = 0
End With: End Sub

2- زرامر للصفحة الثانية  مثلا لشاشة البحث 

pNTxo2.png

Private Sub Cmb_Search_Click()
With Me
CtrlPages
'اظهار الصفحة الثالثة
.MultiPage1.Pages(1).Visible = True
.MultiPage1.Value = 1
End With: End Sub

3- زر امر للصفحة الثالثة مثلا التقارير

 

j3Uyo1.png

Private Sub Cmb_Repors_Click()
With Me
CtrlPages
'اظهار الصفحة الثانية
.MultiPage1.Pages(2).Visible = True
.MultiPage1.Value = 2
End With: End Sub

ثالثا:- تعين الصفحة الاولي كصفحة البداية عند تشغيل الفورم

Private Sub UserForm_Activate()
'جعل صفحة بداية الفتح الصفحة الاولي
Cmb_Entry_Click
End Sub

التطبيق بالمرفقات انظر Example4

 

testln.gif

 

مثال عملي أخر -  المشاركة رقم 332 (اضغط هنا )

 

z5eg.png

 

 

 

لمزيد من الأمثلة العملية يمكن مراجعة (برنامج أوفيسنا للتحاليل الطبية) او (برنامج كنترول زاد - المرحلة الابتدائية ) .. وغيرها من خلال الضغط علي رابط مواضيعي بالمنتدي من هنا 

 

zfbn.png

 

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

 

zfbn.png

اداة التحكم الصفحات المتعددة.rar

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

ما شاء الله تبارك الله 

 

موضوع  مميز 

 

ولكن للاسف   عن نفسي   لا استطيع التطبيق 

 

لان البدايات  و الاساسيات  في التصميم و التطبيق   لا توجد لدي  :eek2:  

 

ول ذالك نحن نحلم ان نتعلم   :rol:  يوما ماء

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

ما شاء الله تبارك الله 

 

موضوع  مميز 

 

ولكن للاسف   عن نفسي   لا استطيع التطبيق 

 

لان البدايات  و الاساسيات  في التصميم و التطبيق   لا توجد لدي  :eek2:  

 

ول ذالك نحن نحلم ان نتعلم   :rol:  يوما ماء

أخي الكريم // زمزم

الامر يسير باذن الله اهم شيء الارادة ورغبتك في التعلم والتحصيل 

مع تحياتي

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

الأستاذ ضاحي الغريب حفظك الله

 

اشكرك كثير على شرحك الأكثر من رائع اثابك الله من واسع فضله وجعله في ميزان حسناتك فلقد افدتنا كثير من شرحك

 

وجزاااااااااااك الله كل خير على كل حرف .............

أخي الكريم // المصباحي

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

وادعوا الله لنا ولكم بالتوفيق ان شاء الله

مع تحياتي

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

 

 

 

اخى ضاحى ابوعمرو

حاولت جاهدا دون فائدة

ان تظهر Tree View Control

كليك يمين على الادوات وتختار ADDITIONAL CONTROL

 

ولكن عندى لا يظهر شئ بعد الاختيار 

ارجو التوضيح

 

وبعد ذلك قم بتشغيل الاكسيل وجرب هتلاقي (( Additional Controls Dialog Box )) شغال ان شاء الله

 

20130608043609.png

 

جرب واعلمني بالنتيجة

تقبل تحياتي

 

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

بالنسبة لأدوات سابقاً طبقته بالخطوات ولكن لم يظهر لدي. أرجو إفادتي.

 

بارك الله فيك

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

حدد لي نسخة الاوفيس والويندوز ونواة الجهاز هل هي 32 او 64 بت

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

زائر
هذا الموضوع مغلق.
×
×
  • اضف...

Important Information