Visual Basic هي لغة ممتازة لأتمتة المهام المتكررة في Excel. تخيل رفع مستوى التشغيل الآلي الخاص بك عن طريق إنشاء نماذج مستخدم وظيفية للغاية تبدو أيضًا مرتبة للمستخدمين النهائيين.

تقدم لك نماذج المستخدم في VBA لوحة قماشية فارغة ؛ يمكنك تصميم النماذج وتنظيمها لتناسب احتياجاتك في أي وقت.

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

إنشاء نموذج مستخدم باستخدام Excel VBA

افتح مصنف Excel جديدًا وقم بتنفيذ بعض الخطوات الأولية قبل البدء في إنشاء نموذج إدخال البيانات.

احفظ المصنف بالاسم المطلوب ؛ لا تنس تغيير نوع الملف إلى مصنف Excel ممكن بماكرو.

متعلق ب:مواقع الويب والمدونات لتعلم نصائح وحيل Excel

أضف ورقتين إلى هذا المصنف ، بالأسماء التالية:

  1. الورقة 1: الصفحة الرئيسية
  2. ورقة 2: قاعدة بيانات الطلاب

لا تتردد في تغيير هذه الأسماء حسب متطلباتك.

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

بمجرد وضع الزر ، قم بإعادة تسميته. انقر بزر الماوس الأيمن فوقه ، وانقر فوق جديد لتعيين ماكرو جديد لإظهار النموذج.

instagram viewer

أدخل الكود التالي في نافذة المحرر:

Sub Button1_Click ()
المستخدم. يعرض
End Sub

مرة واحدة في الصفحة الرئيسية و قاعدة بيانات الطلاب الأوراق جاهزة ، حان الوقت لتصميم نموذج المستخدم. انتقل إلى مطور علامة التبويب ، وانقر فوق البصرية الأساسية لفتح المحرر. بدلاً من ذلك ، يمكنك الضغط على ALT + F11 لفتح نافذة المحرر.

اضغط على إدراج علامة التبويب وحدد المستخدم.

نموذج مستخدم فارغ جاهز للاستخدام ؛ يتم فتح مربع الأدوات المصاحب مع النموذج ، والذي يحتوي على جميع الأدوات الأساسية لتصميم التخطيط.

من مربع الأدوات ، حدد ملف إطار اختيار. اسحب هذا إلى نموذج المستخدم وقم بتغيير حجمه.

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

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

ينطبق منطق إعادة التسمية نفسه ؛ تغيير الأسماء عبر شرح الخيار داخل الخصائص نافذة او شباك. تأكد من تحديد التسمية المعنية قبل تغيير اسمها.

بعد ذلك ، أدخل مربعي نص بجوار مربعات التسمية. سيتم استخدام هذه لالتقاط مدخلات المستخدم. قم بتغيير أسماء مربعي النص عبر ملف (اسم) العمود داخل الخصائص نافذة او شباك. الأسماء كالتالي:

  • مربع النص 1: تطبيق txt
  • مربع النص 2: txtStudentID

تصميم إطار تفاصيل الطالب

أدخل إطارًا رأسيًا وأضف 10 تسميات و 10 مربعات نصية. أعد تسمية كل منهم بالطريقة التالية:

  • التسمية 3: اسم
  • التسمية 4: سن
  • التسمية 5: عنوان
  • التسمية 6: هاتف
  • التسمية 7: مدينة
  • التسمية 8: دولة
  • التسمية 9: تاريخ الميلاد
  • التسمية 10: الرمز البريدي
  • التسمية 11: جنسية
  • التسمية 12: جنس

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

تصميم إطار تفاصيل الدورة

أضف إطارًا رأسيًا آخر وأدخل ستة تسميات وستة مربعات نصية مطابقة لكل تسمية. أعد تسمية التسميات كما يلي:

  • التسمية 13: اسم الدورة التدريبية
  • التسمية 14: معرف بالطبع
  • التسمية 15: تاريخ بدء التسجيل
  • التسمية 16: تاريخ انتهاء التسجيل
  • التسمية 17: مدة الدورة
  • التسمية 18:  قسم، أقسام

متعلق ب: 4 أخطاء يجب تجنبها عند برمجة Excel وحدات الماكرو مع VBA

تصميم إطار تفاصيل الدفع

أدخل إطارًا جديدًا ؛ أضف تصنيفًا جديدًا وأعد تسميته "هل ترغب في تحديث تفاصيل الدفع؟" أدخل اثنين أزرار الخيارات. إعادة تسميتها نعم و رقم.

وبالمثل ، أضف إطارًا جديدًا يحتوي على تسميتين إضافيتين ومربعي تحرير وسرد. أعد تسمية التسميات كما يلي:

  • التسمية 19: تم استلام الدفعة
  • التسمية 20: طريقة الدفع

تصميم جزء التنقل

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

أعد تسمية الأزرار بالطريقة التالية:

  • زر +1: حفظ التفاصيل
  • الزر 2: شكل واضح
  • Button3: مخرج

كتابة رمز النموذج الآلي: زر حفظ التفاصيل

انقر نقرًا مزدوجًا فوق ملف حفظ التفاصيل زر. في الوحدة النمطية التالية ، أدخل الكود التالي:

أمر فرعي خاص

"أعلن عن المتغيرات المستخدمة في جميع الرموز
Dim sht As Worksheet ، sht1 As Worksheet ، lastrow As Long

أضف عمليات التحقق للتحقق مما إذا كان يتم إدخال قيم الأحرف في الحقول الرقمية.
إذا كانت VBA.IsNumeric (قيمة txtApplicationNo) = False ثم
MsgBox "يتم قبول القيم الرقمية فقط في رقم التطبيق" ، vbCritical
خروج Sub
إنهاء إذا

إذا كان VBA.IsNumeric (txtStudentID.Value) = خطأ إذن
MsgBox "يتم قبول القيم الرقمية فقط في معرف الطالب" ، vbCritical
خروج Sub
إنهاء إذا

إذا كان VBA.IsNumeric (txtAge. القيمة) = خطأ إذن
MsgBox "يتم قبول القيم الرقمية فقط في Age" ، vbCritical
خروج Sub
إنهاء إذا

إذا كان VBA.IsNumeric (txtPhone. القيمة) = خطأ إذن
MsgBox "يتم قبول القيم الرقمية فقط في رقم الهاتف" ، vbCritical
خروج Sub
إنهاء إذا

إذا كان VBA.IsNumeric (Me.txtCourseID.Value) = False ثم
MsgBox "يتم قبول القيم الرقمية فقط في معرف الدورة التدريبية" ، vbCritical
خروج Sub
إنهاء إذا

اربط حقول مربع النص بالأوراق الأساسية لإنشاء قاعدة بيانات متجددة
تعيين sht = ThisWorkbook. أوراق ("قاعدة بيانات الطلاب")

حساب آخر صف مملوء في كلتا الصفحتين

lastrow = sht. النطاق ("أ" والصفوف. العد) .النهاية (xlUp). الصف + 1

الصق قيم كل مربع نص في خلايا الورقة الخاصة بها

مع sht
.Range ("a" & lastrow) .Value = txtApplicationNo. قيمة
.Range ("b" & lastrow) .Value = txtStudentID.Value
.Range ("c" & lastrow) .Value = txtName. قيمة
.Range ("d" & lastrow) .Value = txtAge. قيمة
.Range ("e" & lastrow) .Value = txtDOB.Value
.Range ("g" & lastrow) .Value = txtAddress. قيمة
.Range ("h" & lastrow) .Value = txtPhone. قيمة
.Range ("i" & lastrow) .Value = txtCity. قيمة
.Range ("j" & lastrow) .Value = txtCountry. قيمة
.Range ("k" & lastrow) .Value = txtZip. قيمة
.Range ("l" & lastrow) .Value = txtNationality. قيمة
.Range ("m" & lastrow) .Value = txtCourse. قيمة
.Range ("n" & lastrow) .Value = txtCourseID.Value
.Range ("o" & lastrow) .Value = txtenrollmentstart. قيمة
.Range ("p & lastrow). القيمة = txtenrollmentend. قيمة
.Range ("q" & lastrow) .Value = txtcourseduration. قيمة
.Range ("r" & lastrow) .Value = txtDept. قيمة

انتهت ب
sht. تفعيل

تحديد الجنس حسب مدخلات المستخدم
إذا كان optMale. القيمة = صحيح ثم sht. المدى ("g" & lastrow). القيمة = "ذكر"
إذا اخترت القيمة = صحيح ثم sht. المدى ("g" & lastrow). القيمة = "أنثى"
عرض مربع رسالة ، في حالة قيام المستخدم بتحديد زر الاختيار "نعم"

إذا اخترت نعم. القيمة = صحيح ثم
MsgBox "الرجاء تحديد تفاصيل الدفع أدناه"
آخر:
خروج Sub

إنهاء إذا

End Sub

إذا لم تكن متأكدًا من معنى الأجزاء أو أي من الكود ، فلا داعي للقلق. سنشرحها بدقة في القسم التالي.

شرح كود النموذج الآلي

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

باستخدام ملف إذا العبارة ، يقوم الكود بتشغيل النوافذ المنبثقة للخطأ إذا قام المستخدم بإدخال حرف أو قيمة نصية في أي من الحقول الرقمية.

نظرًا لوجود عمليات التحقق من الأخطاء في مكانها الصحيح ، فأنت بحاجة إلى ربط مربعات النص بخلايا الورقة.

ال الصف الأخير المتغيرات ستحسب آخر صف مملوء ، وتخزن القيم فيها للاستخدام الديناميكي.

أخيرًا ، يتم لصق القيم من مربعات النص في ورقة Excel المرتبطة.

مسح النموذج ورموز زر الخروج

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

معي
.txt التطبيق القيمة = ""
.txtStudentID.Value = ""
..txtName. القيمة = ""
.txtAge. القيمة = ""
.txtAddress. القيمة = ""
.txtPhone. القيمة = ""
.txtCity. القيمة = ""
.txtCountry. القيمة = ""
.txtDOB.Value = ""
.txtZip. القيمة = ""
.txt الجنسية. القيمة = ""
.txtCourse. القيمة = ""
.txtCourseID.Value = ""
.txtenrollmentstart. القيمة = ""
.txtenrollmentend. القيمة = ""
.txtcourseduration. القيمة = ""
.txtDept. القيمة = ""
.cmbPaymentMode. القيمة = ""
.cmbPayment. القيمة = ""
.optF female. القيمة = خطأ
.optMale. القيمة = خطأ
.opt نعم. القيمة = خطأ
.opt القيمة = خطأ

انتهت ب

في ال خروج زر ، أدخل الرمز التالي لإغلاق نموذج المستخدم.

أمر فرعي خاص
تفريغ لي
End Sub

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

UserForm_Activate الفرعي الخاص ()

مع cmbPayment
.صافي
.اضافة عنصر ""
.AddItem "نعم"
.AddItem "لا"
انتهت ب
مع cmbPaymentMode

.صافي
.اضافة عنصر ""
.AddItem "Cash"
.AddItem "بطاقة"
.AddItem "تحقق"
انتهت ب
End Sub

يجعل VBA Automation العمل أسهل

VBA هي لغة متعددة الأوجه تخدم العديد من الأغراض. تعد نماذج المستخدم جانبًا واحدًا فقط في VBA - هناك العديد من الاستخدامات الأخرى مثل دمج المصنفات وأوراق العمل ، ودمج أوراق Excel المتعددة ، واستخدامات أتمتة يدوية أخرى.

بغض النظر عن هدف الأتمتة ، فإن VBA على مستوى المهمة. إذا واصلت التعلم والممارسة ، فلا يوجد جانب من سير عملك لا يمكنك تحسينه.

كيفية دمج أوراق Excel متعددة باستخدام ماكرو VBA

يعد دمج البيانات من أكثر من ورقة Excel في نفس المصنف مشكلة حقيقية... حتى تستخدم وحدات ماكرو VBA.

اقرأ التالي

يشاركسقسقةبريد الالكتروني
مواضيع ذات صلة
  • برمجة
  • إنتاجية
  • البرمجة المرئية الأساسية
  • مايكروسوفت اكسل
عن المؤلف
غوراف سيال (تم نشر 50 مقالة)

يتمتع Gaurav Siyal بخبرة عامين في الكتابة ، ويكتب لسلسلة من شركات التسويق الرقمي ووثائق دورة حياة البرامج.

المزيد من Gaurav Siyal

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك