/ / / Πολλαπλών γραμμών VBA Πολλαπλών Σειρών

Πολλαπλών γραμμών VBA πολλαπλών γραμμών Excel

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA που δημιουργεί ένα Userform που περιέχει a Πολύχρωμο σύνθετο πλαίσιο.

Το Userform που πρόκειται να δημιουργήσουμε φαίνεται ως εξής:

Πολλαπλαίσιο Combo Box στο Excel VBA

Για να δημιουργήσετε αυτό το Userform, εκτελέστε τα παρακάτω βήματα.

1. Ανοίξτε τον Επεξεργαστή Visual Basic. Εάν το Explorer του έργου δεν είναι ορατό, κάντε κλικ στην επιλογή Προβολή, Εξερεύνηση έργου.

2. Κάντε κλικ στην επιλογή Εισαγωγή, Χρήστης. Εάν η Εργαλειοθήκη δεν εμφανίζεται αυτόματα, κάντε κλικ στην επιλογή Προβολή, Εργαλειοθήκη. Η οθόνη σας πρέπει να ρυθμιστεί ως εξής.

Οθόνη ρύθμισης παραμέτρων χρήστη στο Excel VBA

3. Προσθέστε την ετικέτα, το σύνθετο πλαίσιο και τα κουμπιά εντολών. Μόλις ολοκληρωθεί αυτό το αποτέλεσμα, το αποτέλεσμα πρέπει να είναι συνεπές με την εικόνα του Userform που παρουσιάστηκε νωρίτερα. Για παράδειγμα, δημιουργήστε ένα πλαίσιο ελέγχου συνδυασμού κάνοντας κλικ στο ComboBox από την Εργαλειοθήκη. Στη συνέχεια, μπορείτε να σύρετε ένα σύνθετο πλαίσιο στο Userform.

4. Μπορείτε να αλλάξετε τα ονόματα και τις λεζάντες των στοιχείων ελέγχου. Τα ονόματα χρησιμοποιούνται στον κώδικα Excel VBA. Οι λεζάντες είναι αυτές που εμφανίζονται στην οθόνη σας. Είναι καλή πρακτική η αλλαγή των ονομάτων των στοιχείων ελέγχου, αλλά δεν είναι απαραίτητο εδώ επειδή έχουμε μόνο λίγα στοιχεία ελέγχου σε αυτό το παράδειγμα. Για να αλλάξετε τη λεζάντα των κουμπιών Userform, ετικέτα και εντολή, κάντε κλικ στην επιλογή Προβολή, Παράθυρο ιδιοτήτων και κάντε κλικ σε κάθε έλεγχο.

5. Για να εμφανίσετε το Userform, τοποθετήστε ένα κουμπί εντολής στο φύλλο εργασίας σας και προσθέστε την ακόλουθη γραμμή κώδικα:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Τώρα θα δημιουργήσουμε το Sub UserForm_Initialize. Όταν χρησιμοποιείτε τη μέθοδο εμφάνισης για τη φόρμα χρήστη, αυτό το υποσύνολο θα εκτελείται αυτόματα.

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. Στο Explorer του Έργου, κάντε διπλό κλικ στο UserForm1.

11. Κάντε διπλό κλικ στο κουμπί OK.

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

Σημείωση: αυτές οι γραμμές κώδικα κλείνουν τη μορφή χρήστη VBA του Excel και εμφανίζουν το επιλεγμένο στοιχείο και είδος. Η εντολή "Συνέχιση σφάλματος στη συνέχεια" παραβλέπει το σφάλμα όταν ο χρήστης συμπληρώνει την ταινία του / της (στην περίπτωση αυτή δεν υπάρχει διαθέσιμο είδος).

13. Κάντε διπλό κλικ στο κουμπί Άκυρο.

14. Προσθέστε την ακόλουθη γραμμή κώδικα:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Αποτέλεσμα όταν επιλέγετε Ταχύτητα και κάντε κλικ στο OK.

Αποτελέσματα συνδυασμού πολλαπλών καλαθιών

Αποτελέσματα συνδυασμού πολλαπλών καλαθιών

Επίσης διαβάστε: