/ / VBA משולבת VBA משולבת תיבת

תיבת VB רב משולב

להלן נבחן תוכנית ב Excel VBA אשר יוצר Userform המכיל תיבת משולבת מרובת עמודים.

Userform שאנחנו הולכים ליצור נראה כדלקמן:

רב משולב תיבת משולבת ב - Excel

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

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

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

הגדרת מסך ב - Excel

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

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

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()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

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

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

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

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

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

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

הערה: אלה שורות קוד לסגור את User VBA Excel ולהציג את הפריט ואת הז 'אנר שנבחר. ההצהרה "On Error Error Next" מתעלמת מהטעות כאשר המשתמש ממלא את הסרט שלו (במקרה זה אין ז 'אנר זמין).

13. לחץ לחיצה כפולה על הלחצן ביטול.

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

Private Sub CommandButton2_Click()

Unload Me

End Sub

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

התוצאה מרובע משולבת תיבת

התוצאה מרובע משולבת תיבת

קרא גם: