Microsoft VBA Userform with Multiple Pages - Εύκολες μακροεντολές Excel

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

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

Το στοιχείο ελέγχου πολλαπλών σελίδων περιέχει δύο σελίδες. Στη σελίδα 1, ο χρήστης μπορεί να συμπληρώσει τα προσωπικά του στοιχεία. Στη σελίδα 2, ο χρήστης μπορεί να υποδείξει ποιος πίνακας του αρέσει περισσότερο.

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

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

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

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

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 ()
Με το ListBox1
.AddItem "Βουνά"
.AddItem "Ηλιοβασίλεμα"
.AddItem "Παραλία"
.AddItem "Χειμώνας"
Τέλος με
Τέλος υπο

Επεξήγηση: θα συμπληρωθεί το πλαίσιο λίστας στη σελίδα 2.

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

10. Κατεβάστε τις εικόνες (δεξιά πλευρά αυτής της σελίδας) και προσθέστε τις στο "C: \ test \"

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

12. Κάντε διπλό κλικ στο πλαίσιο λίστας.

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

Private Sub ListBox1_Click ()
Εάν ListBox1.ListIndex = 0 Τότε
Image1.Picture = LoadPicture ("C: \ test \ Mountains.jpg")
Τέλος εαν
Εάν ListBox1.ListIndex = 1 Τότε
Image1.Picture = LoadPicture ("C: \ test \ Sunset.jpg")
Τέλος εαν
Εάν ListBox1.ListIndex = 2 Τότε
Image1.Picture = LoadPicture ("C: \ test \ Beach.jpg")
Τέλος εαν
Εάν ListBox1.ListIndex = 3 Τότε
Image1.Picture = LoadPicture ("C: \ test \ Winter.jpg")
Τέλος εαν
Τέλος υπο

Επεξήγηση: αυτές οι γραμμές κώδικα φορτώνουν μια εικόνα ανάλογα με το επιλεγμένο στοιχείο στο πλαίσιο λίστας.

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

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

Private Sub CommandButton1_Click ()
Dim κενόRow As Long
«Κάντε το Sheet1 ενεργό
Φύλλο 1. Ενεργοποιήστε
«Προσδιορίστε την κενή σειρά
emptyRow = WorksheetFunction.CountA (Εύρος ("A: A")) + 1
«Μεταφορά πληροφοριών
Κελιά (κενόRow, 1) .Value = TextBox1.Value
Κελιά (κενόRow, 2) .Value = TextBox2.Value
Εάν OptionButton1.Value = True Τότε
Κελιά (κενή σειρά, 3). Αξία = "Αρσενικό"
Αλλού
Κελιά (κενή σειρά, 3). Αξία = "Γυναίκα"
Τέλος εαν
Κελιά (κενόRow, 4) .Value = ListBox1.Value
«Κλείσιμο φόρμας χρήστη
Ξεφορτώστε Με
Τέλος υπο

Επεξήγηση: πρώτα, ενεργοποιούμε το Sheet1. Στη συνέχεια, καθορίζουμε το κενό Row. Η μεταβλητή emptyRow είναι η πρώτη κενή σειρά και αυξάνεται κάθε φορά που προστίθεται μια εγγραφή. Στη συνέχεια, μεταφέρουμε τις πληροφορίες από το Userform στις συγκεκριμένες στήλες του κενού Row. Τέλος, κλείνουμε το Userform.

16. Βγείτε από το Visual Basic Editor, εισαγάγετε τις ετικέτες που εμφανίζονται παρακάτω στη γραμμή 1 και δοκιμάστε το Userform.

Αποτέλεσμα:

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

wave wave wave wave wave