/ / Excel VBA Userform עם מספר דפים

משתמש עם מספר דפים

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

Control Multipage מכיל שני עמודים. בעמוד 1, המשתמש יכול למלא את הפרטים האישיים שלו. בעמוד 2, המשתמש יכול לציין איזה ציור הוא הכי אוהב.

דף משתמש 1
דף 2

כדי ליצור Userform זה, בצע את השלבים הבאים.

1. פתח את עורך Visual Basic. אם סייר הפרויקטים אינו גלוי, לחץ על תצוגה, סייר פרויקט.

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

הגדרת מסך ב - Excel

3. הוסף את בקרת הריבוי, תוויות, תיבות טקסט (הראשון בראש, השני מתחת הראשון), מסגרת, לחצני אפשרויות (הראשון בצד שמאל, השני מימין), תיבת רשימה, תמונה מלאה וכפתור הפקודה. לאחר השלמת פעולה זו, התוצאה צריכה להיות עקבית עם הגרסה הריקה של Userform שמוצג קודם לכן. לדוגמה, ליצור שליטה multipage על ידי לחיצה על Multipage מתוך ארגז כלים. לאחר מכן, ניתן לגרור שליטה מרובת-שכבות ב- Userform. כאשר אתה מגיע למסגרת המגדר, זכור לצייר מסגרת זו תחילה לפני שתמקם את שני לחצני האפשרויות.

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

5. כדי להציג את Userform, הצב לחצן פקודה בגליון העבודה והוסף את שורת הקוד הבאה:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

עכשיו אנחנו הולכים ליצור את תת משתמשForm_Initialize. כאשר אתה משתמש בשיטת הצג עבור Userform, תת תתבצע באופן אוטומטי.

6. פתח את עורך Visual Basic.

7. בסייר הפרויקט, לחץ באמצעות לחצן העכבר הימני על UserForm1 ולאחר מכן לחץ על הצג קוד.

8. בחר Userform מהרשימה הנפתחת. בחר 'אתחול' מהרשימה הנפתחת.

9. הוסף את שורות הקוד הבאות:

Private Sub UserForm_Initialize()

With ListBox1
    .AddItem "Mountains"
    .AddItem "Sunset"
    .AddItem "Beach"
    .AddItem "Winter"
End With

End Sub

הסבר: תיבת הרשימה בעמוד 2 תתמלא.

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

10. הורד את התמונות (בצד ימין של הדף) ולהוסיף אותם "C: מבחן"

11. בסייר הפרויקט, לחץ לחיצה כפולה על UserForm1.

12. לחץ לחיצה כפולה על תיבת הרשימה.

13. הוסף את שורות הקוד הבאות:

Private Sub ListBox1_Click()

If ListBox1.ListIndex = 0 Then
    Image1.Picture = LoadPicture("C:testMountains.jpg")
End If

If ListBox1.ListIndex = 1 Then
    Image1.Picture = LoadPicture("C:testSunset.jpg")
End If

If ListBox1.ListIndex = 2 Then
    Image1.Picture = LoadPicture("C:testBeach.jpg")
End If

If ListBox1.ListIndex = 3 Then
    Image1.Picture = LoadPicture("C:testWinter.jpg")
End If

End Sub

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

14. לחץ לחיצה כפולה על כפתור אישור.

15. הוסף את שורות הקוד הבאות:

Private Sub CommandButton1_Click()

Dim emptyRow As Long

"Make Sheet1 active
Sheet1.Activate

"Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

"Transfer information
Cells(emptyRow, 1).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 3).Value = "Male"
Else
    Cells(emptyRow, 3).Value = "Female"
End If

Cells(emptyRow, 4).Value = ListBox1.Value

"Close Userform
Unload Me

End Sub

הסבר: ראשית, אנו מפעילים את Sheet1. לאחר מכן, אנו קובעים blankRow. המשתנה blankRow הוא השורה הראשונה ריקה ומגדיל בכל פעם שיא נוסף. לאחר מכן, אנו מעבירים את המידע מ Userform לעמודות ספציפיות של blankRow. לבסוף, נסגור את Userform.

16. צא מעורך Visual Basic, הזן את התוויות המוצגות להלן בשורה 1 ובדוק את Userform.

תוצאה:

בדוק את תבנית המשתמש

קרא גם: