ComboBoxes επιτρέπουν στους χρήστες να επιλέγουν μια επιλογή από μια αναπτυσσόμενη λίστα μενού. Τα ComboBoxes μπορούν να δημιουργηθούν σε VBA UserForms ή με ένα φύλλο εργασίας Excel. Σε αυτό το σεμινάριο, θα μάθετε πώς να δημιουργείτε και να χειρίζεστε ComboBoxes σε φύλλα εργασίας VBA και Excel.
Αν θέλετε να μάθετε πώς να δημιουργείτε ένα Listbox, κάντε κλικ εδώ: VBA Listbox
Εάν θέλετε να μάθετε πώς να δημιουργείτε ένα πλαίσιο ελέγχου, κάντε κλικ εδώ: Πλαίσιο ελέγχου VBA
Δημιουργήστε ένα φύλλο εργασίας ComboBox στο Excel
Για να εισαγάγετε ένα ComboBox στο φύλλο εργασίας, πρέπει να μεταβείτε στο Καρτέλα προγραμματιστή, Κάντε κλικ Εισάγετε και κάτω από τα στοιχεία ελέγχου ActiveX επιλέξτε Combo Box:
Εικόνα 1. Εισαγάγετε ένα ComboBox στο φύλλο εργασίας
Όταν επιλέγετε το ComboBox που έχετε εισαγάγει, μπορείτε να κάνετε κλικ στο Ιδιότητες σύμφωνα με το Καρτέλα προγραμματιστή:
Εικόνα 2. Αλλαγή ιδιοτήτων ComboBox
Εδώ μπορείτε να ορίσετε διαφορετικές ιδιότητες του ComboBox. Για αρχή, αλλάξαμε το χαρακτηριστικό Ονομα προς το cmbComboBoxΤο Τώρα, μπορούμε να χρησιμοποιήσουμε το ComboBox με αυτό το όνομα σε κώδικα VBA.
Συμπληρώστε ένα ComboBox σε κώδικα VBA
Πρώτον, πρέπει να συμπληρώσουμε το ComboBox με τιμές. Στις περισσότερες περιπτώσεις, ένα ComboBox πρέπει να συμπληρωθεί όταν ανοίξει το βιβλίο εργασίας. Εξαιτίας αυτού, πρέπει να βάλουμε έναν κώδικα για τη συμπλήρωση του ComboBox σε αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ, διαδικασία Ανοιξε. Αυτή η διαδικασία εκτελείται κάθε φορά που ένας χρήστης ανοίγει το βιβλίο εργασίας. Εδώ είναι ο κωδικός:
123456789 | Με το Sheet1.cmbComboBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Τέλος με |
Όταν κάνετε κλικ στο αναπτυσσόμενο μενού, θα λάβετε 5 ονόματα για να επιλέξετε (John, Michael, Jennifer, Lilly and Robert):
Εικόνα 3. Συμπληρώστε το ComboBox σε VBA
Συμπληρώστε ένα ComboBox από μια περιοχή κελιών
Ένας άλλος πιθανός τρόπος συμπλήρωσης ενός ComboBox είναι να αφήσετε έναν χρήστη να το κάνει. Ένα ComboBox μπορεί να συνδεθεί με την περιοχή κελιών. Σε αυτήν την προσέγγιση, κάθε φορά που ένας χρήστης εισάγει μια νέα τιμή στην περιοχή κελιών, το ComboBox θα ενημερώνεται με αυτήν την τιμή.
Εάν θέλετε να το ενεργοποιήσετε, πρέπει να μεταβείτε στο Ιδιότητες του ComboBox και ορίστε το χαρακτηριστικό ListFillRange στην περιοχή κελιών (στην περίπτωσή μας Ε2: Ε5):
Εικόνα 4. Συμπληρώστε το ComboBox από την περιοχή κελιών
Συνδέσαμε το ComboBox μας με το εύρος E2: E5, όπου βάζουμε ονόματα που θέλουμε (Nathan, Harry, George, Roberta). Ως αποτέλεσμα, το ComboBox συμπληρώνεται τώρα με αυτά τα ονόματα:
Εικόνα 5. Συμπληρωμένο ComboBox από την περιοχή κελιών
Αποκτήστε ένα επιλεγμένο στοιχείο ενός ComboBox στο VBA
Ο σκοπός ενός ComboBox είναι να πάρει μια επιλογή χρηστών. Για να ανακτήσετε μια επιλογή χρηστών, πρέπει να χρησιμοποιήσετε αυτόν τον κωδικό:
123 | Dim strSelectedItem As VariantstrSelectedItem = Sheet1.cmbComboBox.Value |
Η επιλογή χρηστών βρίσκεται στο χαρακτηριστικό αξία του Sheet1.cmbComboBox αντικείμενο. Αυτή η τιμή εκχωρείται στη μεταβλητή strSelectedItem:
Εικόνα 6. Λάβετε μια επιλεγμένη τιμή από το ComboBox στο VBA
Επιλέξαμε Τζούλια στο ComboBox και εκτέλεσε τη διαδικασία. Όπως μπορείτε να δείτε στην εικόνα 5, η τιμή του strSelectedItem είναι Τζούλια, η οποία είναι η τιμή που επιλέξαμε. Τώρα μπορείτε να επεξεργαστείτε αυτήν τη μεταβλητή περαιτέρω στον κώδικα.
Διαγράψτε ένα ComboBox
Εάν θέλετε να διαγράψετε ένα ComboBox στο VBA, πρέπει να το χρησιμοποιήσετε Σαφή μέθοδος για Sheet1.lstComboBox αντικείμενο. Θα διαγράψει όλα τα στοιχεία από το ComboBox. Εδώ είναι ο κωδικός:
1 | Sheet1.cmbComboBox.Clear |
Όταν εκτελούμε τον κώδικα, λαμβάνουμε το κενό ComboBox:
Εικόνα 7. Διαγράψτε το ComboBox
Χρησιμοποιήστε ένα ComboBox σε μια μορφή χρήστη
Όπως αναφέραμε, το Combobox χρησιμοποιείται συχνότερα σε Userforms. Για να εξηγήσουμε πώς μπορείτε να το κάνετε, θα εισαγάγουμε πρώτα μια φόρμα χρήστη. Στο πρόγραμμα επεξεργασίας VBA, κάντε δεξί κλικ στο όνομα μονάδας, κάντε κλικ στο Εισάγετε και επιλέξτε UserForm:
Εικόνα 8. Εισαγάγετε μια φόρμα χρήστη
Για να εμφανίσετε στοιχεία ελέγχου για εισαγωγή, πρέπει να ενεργοποιήσετε το ΕργαλειοθήκηΤο Για να το κάνετε αυτό, κάντε κλικ στοΕργαλειοθήκη εικονίδιο στη γραμμή εργαλείων. Μετά από αυτό, θα λάβετε τα παράθυρα με όλα τα διαθέσιμα στοιχεία ελέγχου. Μπορείτε να κάνετε κλικ στο ComboBox για να το δημιουργήσετε στο Userform.
Εικόνα 9. Εισαγάγετε ένα ComboBox στο Userform
Θα ονομάσουμε το ComboBox cmbComboBoxΤο Για να το συμπληρώσουμε με τιμές, πρέπει να βάλουμε τον ακόλουθο κώδικα στη μέθοδο Αρχικοποίηση του αντικειμένου UserForm:
12345678910111213 | Private Sub UserForm_Initialize ()Με UserForm1.cmbComboBox.AddItem "John".AddItem "Michael".AddItem "Jennifer".AddItem "Lilly".AddItem "Robert"Τέλος μεΤέλος υπο |
Αυτός ο κωδικός ενεργοποιείται κάθε φορά που ένας χρήστης εκτελεί το Userform και συμπληρώνει το Combobox με αυτά τα 5 ονόματα:
Εικόνα 10. Το ComboBox με τιμές στο Userform
Εάν θέλετε να λάβετε την επιλεγμένη τιμή από το ComboBox, πρέπει να χρησιμοποιήσετε την ίδια λογική για το Combobox σε ένα φύλλο εργασίας, η οποία εξηγείται νωρίτερα στο άρθρο.