Excel VBA Dependent Combo Box - Εύκολες μακροεντολές Excel

Πίνακας περιεχομένων

Παρακάτω θα δούμε ένα πρόγραμμα στο Excel VBA που δημιουργεί μια φόρμα χρήστη που περιέχει εξαρτώμενα σύνθετα κουτιά. Η μορφή χρήστη που πρόκειται να δημιουργήσουμε φαίνεται ως εξής:

Ο χρήστης επιλέγει τα ζώα από μια αναπτυσσόμενη λίστα. Ως αποτέλεσμα, ο χρήστης μπορεί να επιλέξει ένα ζώο από μια δεύτερη αναπτυσσόμενη λίστα.

Ο χρήστης επιλέγει Sports από μια αναπτυσσόμενη λίστα. Ως αποτέλεσμα, ο χρήστης μπορεί να επιλέξει ένα άθλημα από μια δεύτερη αναπτυσσόμενη λίστα.

Για να δημιουργήσετε αυτήν τη μορφή χρήστη, εκτελέστε τα ακόλουθα βήματα.

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

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

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

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

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

Private Sub CommandButton1_Click ()
UserForm1.Show
Τέλος υπο

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

6. Ανοίξτε το Visual Basic Editor.

7. Στο Project Explorer, κάντε δεξί κλικ στο UserForm1 και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή κώδικα.

8. Επιλέξτε Userform από την αριστερή αναπτυσσόμενη λίστα. Επιλέξτε Αρχικοποίηση από τη δεξιά αναπτυσσόμενη λίστα.

9. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Private Sub UserForm_Initialize ()
Με το ComboBox1
.AddItem "Ζώα"
.AddItem "Sports"
.AddItem "Φαγητό"
Τέλος με
Τέλος υπο

Επεξήγηση: Αυτές οι γραμμές κώδικα γεμίζουν το πρώτο σύνθετο πλαίσιο.

Δημιουργήσαμε τώρα το πρώτο μέρος του Userform. Αν και φαίνεται καθαρό ήδη, τίποτα δεν θα συμβεί ακόμη όταν επιλέξουμε ένα στοιχείο από το πρώτο συνδυαστικό πλαίσιο.

10. Στο Project Explorer, κάντε διπλό κλικ στο UserForm1.

11. Κάντε διπλό κλικ στο πρώτο σύνθετο πλαίσιο.

12. Προσθέστε τις ακόλουθες γραμμές κώδικα:

Private Sub ComboBox1_Change ()
Δείκτης Dim ως ακέραιος
index = ComboBox1.ListIndex
ComboBox2.Clear
Επιλέξτε Ευρετήριο περιπτώσεων
Περίπτωση είναι = 0
Με το ComboBox2
.AddItem "Dog"
.AddItem "Γάτα"
.AddItem "Horse"
Τέλος με
Περίπτωση είναι = 1
Με το ComboBox2
.AddItem "Τένις"
.AddItem "Κολύμβηση"
.AddItem "Μπάσκετ"
Τέλος με
Περίπτωση Is = 2
Με το ComboBox2
.AddItem "Τηγανίτες"
.AddItem "Πίτσα"
.AddItem "Chinese"
Τέλος με
Τέλος Επιλογή
Τέλος υπο

Επεξήγηση: Το Excel VBA χρησιμοποιεί την τιμή του ευρετηρίου μεταβλητών για να δοκιμάσει κάθε επόμενη πρόταση περίπτωσης για να δει με ποια στοιχεία πρέπει να συμπληρωθεί το δεύτερο σύνθετο πλαίσιο. Μεταβείτε στο πρόγραμμα Select Case για να μάθετε περισσότερα σχετικά με τη δομή Select Case.

13. Κάντε διπλό κλικ στο κουμπί Εισαγωγή.

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

Private Sub CommandButton1_Click ()
Εύρος ("A1"). Τιμή = ComboBox2.Value
Τέλος υπο

Αποτέλεσμα:

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave