Βρόχο μέσω των ελέγχων στο Excel VBA
Με μερικές μόνο γραμμές κώδικα, μπορούμε εύκολα βρόχο μέσω των χειριστηρίων σε ένα Έντυπο χρήστη VBA Excel. Το Userform που πρόκειται να δημιουργήσουμε φαίνεται ως εξής:

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

3. Προσθέστε τις ετικέτες, τα πλαίσια ελέγχου (πρώτα στην κορυφή, το δεύτερο κάτω από το πρώτο κλπ.) Και το κουμπί εντολής. Μόλις ολοκληρωθεί αυτό το αποτέλεσμα, το αποτέλεσμα πρέπει να είναι συνεπές με την εικόνα του Userform που παρουσιάστηκε νωρίτερα. Για παράδειγμα, δημιουργήστε ένα πλαίσιο ελέγχου ελέγχου κάνοντας κλικ στο πλαίσιο ελέγχου από την εργαλειοθήκη. Στη συνέχεια, μπορείτε να σύρετε ένα πλαίσιο ελέγχου στο Userform.
4. Μπορείτε να αλλάξετε τα ονόματα και τις λεζάντες των στοιχείων ελέγχου. Τα ονόματα χρησιμοποιούνται στον κώδικα Excel VBA. Οι λεζάντες είναι αυτές που εμφανίζονται στην οθόνη σας. Είναι καλή πρακτική η αλλαγή των ονομάτων των στοιχείων ελέγχου, αλλά δεν είναι απαραίτητο εδώ επειδή έχουμε μόνο λίγα στοιχεία ελέγχου σε αυτό το παράδειγμα. Για να αλλάξετε τη λεζάντα του Userform, της ετικέτας, των πλαισίων ελέγχου και του κουμπιού εντολών, κάντε κλικ στην επιλογή Προβολή, Παράθυρο ιδιοτήτων και κάντε κλικ σε κάθε στοιχείο ελέγχου.
5. Για να εμφανίσετε το Userform, τοποθετήστε ένα κουμπί εντολής στο φύλλο εργασίας σας και προσθέστε την ακόλουθη γραμμή κώδικα:
UserForm1.Show
End Sub
Δημιουργήσαμε τώρα το πρώτο μέρος του Userform. Παρόλο που φαίνεται καθαρό ήδη, τίποτα δεν θα συμβεί ακόμα όταν πατάμε το κουμπί Clear.
6. Ανοίξτε τον επεξεργαστή της Visual Basic.
7. Στην Εξερεύνηση έργου, κάντε διπλό κλικ στο UserForm1.
8. Κάντε διπλό κλικ στο κουμπί Εκκαθάριση.
9. Προσθέστε τις ακόλουθες γραμμές κώδικα:
Dim contr As control
For Each contr In UserForm1.Controls
If TypeName(contr) = "CheckBox" Then
contr.Value = False
End If
Next
End Sub
Εξήγηση: Το Excel VBA περνάει μέσα από όλα τα στοιχεία ελέγχου στο Userform. Η λειτουργία TypeName χρησιμοποιείται για να φιλτράρει τα στοιχεία ελέγχου του πλαισίου ελέγχου. Εάν υπάρχει έλεγχος πλαισίου ελέγχου, το Excel VBA καταργεί την επιλογή του πλαισίου ελέγχου. contr επιλέγεται τυχαία εδώ, μπορείτε να χρησιμοποιήσετε οποιοδήποτε όνομα. Θυμηθείτε να ανατρέξετε σε αυτό το όνομα στον υπόλοιπο κωδικό σας.
Αποτέλεσμα όταν κάνετε κλικ στο κουμπί Εκκαθάριση:
