VBA סגור UserForm | שתי השיטות המובילות לסגירת טופס משתמש עם דוגמאות

כאשר אנו יוצרים טופס משתמש זה לוקח נתונים כקלט ממשתמשים, אך הנתונים מסופקים לטופס אינו נסגר, ולכן הוא יכול להטעות את המשתמש להזין נתונים שוב, אנו משתמשים בשתי פקודות שונות כדי לסגור טופס משתמש כאשר הקלט כולל ניתנו והם בשיטת Unload me לסגירת טופס משתמש או שנוכל להשתמש בשיטת userform.hide.

טופס משתמש סגור של Excel VBA

צורות משתמש חיוניות בעת קבלת תשומות מהמשתמש כחלק מפרויקט VBA. בדרך כלל אנו מעצבים את טופס המשתמש לפני שנציג אותו בפני המשתמש. לאחר סיום העיצוב של טופס המשתמש ב- VBA עלינו להציג אותו לפני המשתמש ולדרוש קידוד VBA. באופן דומה כדי לסגור את צורת המשתמש זה דורש ידע בקידוד VBA.

במאמר זה נראה לכם כיצד לסגור את צורת המשתמש בקידוד VBA.

כיצד לסגור את UserForm ב- Excel VBA?

ברגע שמטרת טופס המשתמש נעשית יש טעם להמשיך ולהציג את צורת המשתמש מול המשתמש, לכן עלינו לסגור את טופס המשתמש. אנו יכולים לסגור את טופס המשתמש באמצעות המשפט "פרוק אותי" והצהרות "UserForm.Hide". למרות ששניהם שונים זה מזה מעט זה ישרת את מטרתנו בסופו של דבר.

אתה יכול להוריד תבנית VBA סגורה של UserForm Excel כאן - VBA Close UserForm תבנית Excel

# 1 - סגור טופס משתמש באמצעות הצהרת "פרוק אותי" ב- VBA

לדוגמה, עיין בתמונה למטה של ​​טופס המשתמש.

ציינתי את טופס המשתמש כ- “MyUserForm”.

אם אני מריץ את טופס המשתמש נראה את צורת המשתמש כמו למטה.

אני צריך למלא את הפרטים הנדרשים, ברגע שהמידע ימלא אם אני לוחץ על כפתור ההגשה הוא יתפוס את אותם נתונים לגליון העבודה שנראה בצד שמאל.

בלחיצה על כפתור השליחה הוא תפס את הנתונים שהזנתי בטופס המשתמש.

אם שמתם לב שיש לנו כפתור אחד נוסף שנקרא "ביטול". מה זה עושה?

לפני שנציג את טופס המשתמש עלינו להגדיר כפתור זה. עכשיו אחזור לעורך הבסיס החזותי כדי להגדיר את כפתור זה.

עכשיו אני לחץ לחיצה כפולה על כפתור הביטול והוא יפתח את תת הליך ה- VBA האוטומטי כמו להלן.

בהליך זה עלינו לכתוב את קוד ה- VBA לגבי מה שצריך לקרות אם נלחץ על כפתור הביטול. כאשר אנו לוחצים על כפתור ביטול זה עליו לסגור את טופס המשתמש עליו אנו עובדים כרגע.

לכן, כתוב את הקוד כ"פרוק אותי ".

קוד:

 ביטול משנה פרטי ביטול כפתור_קליק () פרוק אותי משנה משנה 

"פרוק אותי" היא המילה בה אנו משתמשים כדי לסגור את צורת המשתמש שעליה אנו עובדים. כאן טופס משתמש מזהה את המילה "אני" כ- UserForm עצמו.

ניתן להשתמש ב"פרוק אותי "באותה הליך טופס משתמש, איננו יכולים לקרוא הצהרה זו במודולים אחרים. אם היא נקראת, היא תציג את הודעת השגיאה כ"שימוש לא חוקי במילת המפתח שלי ".

אוקי, בואו נפעיל את הקוד באמצעות מקש F5 או באופן ידני עכשיו, נראה טופס משתמש ריק.

מלא את הנתונים ולחץ על הגש.

לאחר לחיצה על לחצן ההגשה הוא ישמור את הערכים לתאים שהוזכרו.

אם הזנת הנתונים נעשית, עלינו לסגור את טופס המשתמש, נכון ??

אז לחץ על כפתור הביטול כדי לסגור את טופס המשתמש, הוא יסגור את טופס המשתמש.

# 2 - סגור את UserForm באמצעות שיטת הסתר ב- Excel VBA

אנו יכולים גם לסגור את צורת המשתמש בשיטת "הסתר" גם ב- VBA. כעת שוב אלחץ פעמיים על כפתור הביטול כדי לראות את תת התהליך הפרטי.

מכיוון שכבר כתבנו את הקוד לסגירת צורת המשתמש אנו יכולים לראות את הקוד הקיים ב- VBA. עכשיו אני אמחק את זה.

כדי להשתמש בשיטת הסתר עלינו לקרוא לטופס המשתמש בשמו. במקרה זה, שם טופס המשתמש שלנו הוא "MyUserForm".

לאחר שהזכרנו את טופס המשתמש בשמו אם נציב נקודה (.) נוכל לראות את כל המאפיינים והשיטות של טופס משתמש זה. כעת אבחר בשיטת "הסתר".

אוקי, בואו נפעיל את טופס המשתמש פעם נוספת. נראה טופס משתמש ריק, נמלא תחילה את הפרטים.

עכשיו בלי לחיצה על כפתור ההגשה, אני אלחץ על כפתור הביטול, זה יסתיר את טופס המשתמש.

ההבדל בין פריקה והסתר ב- Excel VBA

חייבת להיות לך שאלה מה ההבדל בין Unload & Hide, כאשר שניהם משרתים מטרה דומה. יש הבדל בין שני אלה. עכשיו ראשית אשתמש בהצהרת Unload Me. התבונן בתמונה למטה.

הזנתי את הנתונים בטופס המשתמש אך עדיין לא הגשתי אותם. אם אני לוחץ על ביטול זה פורק את טופס המשתמש.

עכשיו שוב אפעיל את הקוד דרך מקש קיצור ה- Excel F5 או באופן ידני, הוא יציג צורת משתמש ריקה.

למרות שהזנתי את הנתונים נכון בטעות לחצתי על כפתור הביטול, כאשר טופס המשתמש החדש מופיע שוב מילאתי ​​את הנתונים מאפס.

כעת אשתמש בשיטת "הסתר".

לא, אני אלחץ על כפתור הביטול, זה יסתיר את צורת המשתמש הגלויה. אבל כשאני מריץ מחדש את המאקרו הוא יחזור עם הנתונים שכבר הזנתי בטופס המשתמש.

כך אנו יכולים להשתמש בהצהרת "פרוק" ושיטת "הסתר" כדי לסגור את צורות המשתמש ב- Excel VBA.