Visual Basic היא שפה מצוינת לאוטומציה של משימות שחוזרות על עצמן ב-Excel. תאר לעצמך להעלות את האוטומציה שלך על ידי יצירת טפסי משתמש פונקציונליים ביותר שנראים גם מסודרים למשתמשי הקצה.
טפסי משתמש ב-VBA מציגים בפניכם קנבס ריק; אתה יכול לעצב ולארגן את הטפסים כך שיתאימו לצרכים שלך בכל זמן נתון.
במדריך זה, תלמדו ליצור טופס הזנת נתונים מבוסס סטודנט אשר לוכד מידע רלוונטי בגיליונות אקסל מקושרים.
יצירת טופס משתמש עם Excel VBA
פתח חוברת עבודה חדשה של Excel ובצע כמה שלבים מקדימים לפני שתתחיל ליצור את טופס הזנת הנתונים שלך.
שמור את חוברת העבודה שלך עם השם הרצוי; אל תשכח לשנות את סוג הקובץ ל-an חוברת עבודה עם מאקרו של Excel.
קָשׁוּר:אתרים ובלוגים ללימוד טיפים וטריקים של Excel
הוסף שני גיליונות לחוברת עבודה זו, עם השמות הבאים:
- גיליון 1: בית
- גיליון2: מאגר סטודנטים
אל תהסס לשנות את השמות האלה בהתאם לדרישות שלך.
בתוך ה בית גיליון, הוסף לחצן כדי לשלוט במאקרו של טופס המשתמש. לך אל מפתח לשונית ולחץ על לַחְצָן אפשרות מה לְהַכנִיס רשימה נפתחת. מקם את הכפתור בכל מקום בגיליון.
לאחר שהצבת את הכפתור, שנה את שמו. לחץ לחיצה ימנית עליו, ולחץ על חָדָשׁ כדי להקצות מאקרו חדש להצגת הטופס.
הזן את הקוד הבא בחלון העורך:
Sub Button1_Click()
UserForm. הופעה
סיום משנה
פעם ה בית ו מאגר סטודנטים גיליונות מוכנים, הגיע הזמן לעצב את טופס המשתמש. נווט אל מפתח לשונית, ולחץ על ויז'ואל בייסיק כדי לפתוח את העורך. לחלופין, ניתן ללחוץ ALT+F11 כדי לפתוח את חלון העורך.
הקלק על ה לְהַכנִיס לשונית ובחר UserForm.
טופס משתמש ריק מוכן לשימוש; נפתח ארגז כלים נלווה יחד עם הטופס, הכולל את כל הכלים החיוניים לעיצוב הפריסה.
מארגז הכלים, בחר את מִסגֶרֶת אוֹפְּצִיָה. גרור את זה לטופס המשתמש ושנה את גודלו.
בתוך ה (שֵׁם) אפשרות, אתה יכול לשנות את שם המסגרת. כדי להציג את השם בחזית, אתה יכול לשנות את השם ב- כּוֹתֶרֶת טור.
לאחר מכן, בחר את תווית אפשרות מארגז הכלים והכנס שתי תוויות בתוך מסגרת זו. שנה את שם הראשון בתור מספר בקשה והשני כמו תעודת סטודנט.
אותו היגיון שינוי שם חל; שנה את השמות באמצעות כּוֹתֶרֶת אפשרות בתוך נכסים חַלוֹן. הקפד לבחור את התווית המתאימה לפני שתשנה את שמה.
לאחר מכן, הוסף שתי תיבות טקסט לצד תיבות התווית. אלה ישמשו כדי ללכוד את הקלט של המשתמש. שנה את השמות של שתי תיבות טקסט באמצעות ה (שֵׁם) עמודה בתוך נכסים חַלוֹן. השמות הם כדלקמן:
- תיבת טקסט 1: txtApplicationNo
- תיבת טקסט 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: טופס ריק
- כפתור 3: יְצִיאָה
כתיבת קוד הטופס האוטומטי: לחצן שמור פרטים
לחץ פעמיים על שמור פרטים לַחְצָן. במודול הבא, הכנס את הקוד הבא:
Private Sub CommandButton2_Click()
"להכריז על המשתנים המשמשים לאורך הקודים
עמום sht כגליון עבודה, sht1 כגליון עבודה, שורה אחרונה כאורך'הוסף אימותים כדי לבדוק אם ערכי תווים מוזנים בשדות מספריים.
אם VBA.IsNumeric (txtApplicationNo. Value) = False אז
MsgBox "רק ערכים מספריים מתקבלים במספר היישום", vbCritical
צא משנה
סוף אםאם VBA.IsNumeric (txtStudentID.Value) = False אז
MsgBox "רק ערכים מספריים מתקבלים בתעודת הסטודנט", vbCritical
צא משנה
סוף אםאם VBA.IsNumeric (txtAge. ערך) = שקר אז
MsgBox "רק ערכים מספריים מתקבלים בגיל", vbCritical
צא משנה
סוף אםאם VBA.IsNumeric (txtPhone. ערך) = שקר אז
MsgBox "רק ערכים מספריים מתקבלים במספר טלפון", vbCritical
צא משנה
סוף אםאם VBA.IsNumeric (Me.txtCourseID.Value) = False אז
MsgBox "רק ערכים מספריים מתקבלים במזהה קורס", vbCritical
צא משנה
סוף אם'קשר את שדות תיבת הטקסט עם הגיליונות הבסיסיים כדי ליצור מסד נתונים מתגלגל
הגדר sht = ThisWorkbook. Sheets ("מסד נתונים של תלמידים")'חשב את השורה המאוכלסת האחרונה בשני הגיליונות
lastrow = sht. Range("a" & Rows. ספירה). סוף (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).Value = txtenrollmentend. ערך
.Range("q" & lastrow).Value = txtcourseduration. ערך
.Range("r" & lastrow).Value = txtDept. ערךסיים עם
שפט. לְהַפְעִיל'קבע את המין לפי קלט המשתמש
אם optMale. ערך = נכון ואז sht. Range("g" & lastrow).Value = "זכר"
אם optFemale. ערך = נכון ואז sht. Range("g" & lastrow).Value = "נקבה"
'הצג תיבת הודעה, למקרה שהמשתמש יבחר בלחצן הבחירה כןאם בחר כן. ערך = נכון אז
MsgBox "אנא בחר את פרטי התשלום למטה"
אַחֵר:
צא משנהסוף אם
סיום משנה
אם אינך בטוח מה המשמעות של חלקים או כל אחד מהקוד, אל תדאג. נסביר זאת ביסודיות בחלק הבא.
קוד טופס אוטומטי מוסבר
תיבות הטקסט יכללו שילוב של טקסט וערכים מספריים, ולכן חיוני להגביל את הקלט של המשתמש. ה מספר בקשה, תעודת סטודנט, גיל, מכשיר טלפון, מזהה קורס, ו משך הקורס צריך להכיל רק מספרים, בעוד השאר יכיל טקסט.
שימוש ב- אם הצהרה, הקוד מפעיל חלונות שגיאה קופצים אם המשתמש מזין תו או ערך טקסט בכל אחד מהשדות המספריים.
מכיוון שאימותי השגיאה קיימים, עליך לקשר את תיבות הטקסט עם תאי הגיליון.
ה שורה אחרונה משתנים יחשבו את השורה המאוכלסת האחרונה, ויאחסנו את הערכים בהם לשימוש דינמי.
לבסוף, הערכים מודבקים מתיבות הטקסט בגיליון האקסל המקושר.
נקה את קודי הטופס והיציאה
בתוך ה ברור לחצן, עליך לכתוב את הקוד כדי לנקות את הערכים הקיימים מטופס המשתמש. ניתן לעשות זאת באופן הבא:
איתי
.txtApplicationNo. ערך = ""
.txtStudentID.Value = ""
..txtName. ערך = ""
.txtAge. ערך = ""
.txtAddress. ערך = ""
.txtPhone. ערך = ""
.txtCity. ערך = ""
.txtCountry. ערך = ""
.txtDOB.Value = ""
.txtZip. ערך = ""
.txt לאומיות. ערך = ""
.txtCourse. ערך = ""
.txtCourseID.Value = ""
.txtenrollmentstart. ערך = ""
.txtenrollmentend. ערך = ""
משך קורס .txt. ערך = ""
.txtDept. ערך = ""
.cmbPaymentMode. ערך = ""
.cmbPayment. ערך = ""
.optFemale. ערך = שקר
.optMale. ערך = שקר
.optYes. ערך = שקר
.optNo. ערך = שקר
סיים עם
בתוך ה יְצִיאָה לחצן, הזן את הקוד הבא כדי לסגור את טופס המשתמש.
Private Sub CommandButton5_Click()
פרק אותי
סיום משנה
כשלב אחרון, עליך להזין כמה פיסות קוד אחרונות כדי ליצור את הערכים הנפתחים עבור התיבות המשולבות (בתוך מסגרות התשלום).
Private Sub UserForm_Activate()
עם cmbPayment
.ברור
.הוסף פריט ""
.AddItem "כן"
.AddItem "לא"
סיים עם
עם cmbPaymentMode
.ברור
.הוסף פריט ""
.AddItem "מזומן"
.AddItem "כרטיס"
.AddItem "בדוק"
סיים עם
סיום משנה
אוטומציה VBA הופכת את העבודה לקלה יותר
VBA היא שפה רבת פנים המשרתת מטרות רבות. טפסי משתמש הם רק היבט אחד בתוך VBA - ישנם שימושים רבים אחרים כמו איחוד חוברות עבודה וגיליונות עבודה, מיזוג גיליונות Excel מרובים ושימושי אוטומציה שימושיים אחרים.
לא משנה מטרת האוטומציה, VBA עומד במשימה. אם תמשיך ללמוד ולהתאמן, אין היבט של זרימת העבודה שלך שאתה לא יכול לשפר.
מיזוג נתונים מיותר מגיליון אקסל אחד באותה חוברת עבודה הוא טרחה אמיתית... עד שתשתמש בפקודות מאקרו VBA.
קרא הבא
- תִכנוּת
- פִּריוֹן
- תכנות Visual Basic
- Microsoft Excel
לגאורב סיאל ניסיון של שנתיים בכתיבה, כתיבה עבור שורה של חברות שיווק דיגיטלי ומסמכי מחזור חיים של תוכנה.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחץ כאן כדי להירשם