VBA Κλείσιμο UserForm | Κορυφαίες 2 μέθοδοι για να κλείσετε τη φόρμα χρήστη με παραδείγματα

Όταν κάνουμε μια φόρμα χρήστη παίρνει δεδομένα ως είσοδο από χρήστες, αλλά τα δεδομένα που παρέχονται στη φόρμα δεν κλείνει, οπότε μπορεί να παραπλανήσει τον χρήστη να εισάγει ξανά δεδομένα, χρησιμοποιούμε δύο διαφορετικές εντολές για να κλείσουμε μια φόρμα χρήστη όταν η είσοδος έχει έχουν δοθεί και είναι μέθοδος Unload me για να κλείσετε μια φόρμα χρήστη ή μπορούμε να χρησιμοποιήσουμε τη μέθοδο userform.hide.

Excel VBA Κλείσιμο φόρμας χρήστη

Οι φόρμες χρήστη είναι ζωτικής σημασίας κατά τη λήψη εισροών από τον χρήστη ως μέρος του έργου VBA. Συνήθως σχεδιάζουμε τη φόρμα χρήστη πριν την παρουσιάσουμε μπροστά από τον χρήστη. Μόλις ολοκληρωθεί ο σχεδιασμός της φόρμας χρήστη VBA, πρέπει να εμφανιστεί το ίδιο μπροστά στον χρήστη και να απαιτείται κωδικοποίηση VBA. Παρομοίως, για να κλείσετε τη φόρμα χρήστη απαιτείται γνώση κωδικοποίησης VBA.

Σε αυτό το άρθρο, θα σας δείξουμε πώς να κλείσετε τη φόρμα χρήστη στην κωδικοποίηση VBA.

Πώς να κλείσετε το UserForm στο Excel VBA;

Μόλις ολοκληρωθεί ο σκοπός της φόρμας χρήστη, πρέπει να συνεχίσει να εμφανίζεται η φόρμα χρήστη μπροστά από τον χρήστη, επομένως πρέπει να κλείσουμε τη φόρμα χρήστη. Μπορούμε να κλείσουμε τη φόρμα χρήστη χρησιμοποιώντας τις δηλώσεις "Unload Me" και "UserForm.Hide". Παρόλο που και τα δύο είναι ελαφρώς διαφορετικά το ένα από το άλλο, θα εξυπηρετήσει τελικά το σκοπό μας.

Μπορείτε να κατεβάσετε αυτό το Πρότυπο VBA Κλείσιμο UserForm Excel εδώ - Πρότυπο VBA Κλείσιμο UserForm Excel

# 1 - Κλείσιμο φόρμας χρήστη χρησιμοποιώντας τη δήλωση "Unload Me" στο VBA

Για παράδειγμα, δείτε την παρακάτω εικόνα της φόρμας χρήστη.

Έχω ονομάσει τη φόρμα χρήστη ως "MyUserForm".

Εάν εκτελέσω τη φόρμα χρήστη, θα δούμε τη μορφή χρήστη όπως παρακάτω.

Πρέπει να συμπληρώσω τις απαιτούμενες λεπτομέρειες, μόλις συμπληρωθούν οι πληροφορίες εάν κάνω κλικ στο κουμπί Υποβολή, θα καταγράψει τα ίδια δεδομένα στο φύλλο εργασίας που είναι ορατό στην αριστερή πλευρά.

Κάνοντας κλικ στο κουμπί υποβολής έχει καταγράψει τα δεδομένα που έχω εισαγάγει στη φόρμα χρήστη.

Εάν παρατηρήσετε έχουμε ένα ακόμη κουμπί που ονομάζεται "Ακύρωση". Τι κάνει αυτό;

Πριν εμφανίσουμε τη φόρμα χρήστη πρέπει να ρυθμίσουμε αυτό το κουμπί. Τώρα θα επιστρέψω τον οπτικό βασικό επεξεργαστή για να διαμορφώσω αυτό το κουμπί.

Τώρα θα κάνω διπλό κλικ στο κουμπί Άκυρο και θα ανοίξει την αυτόματη υποδικασία VBA όπως παρακάτω.

Σε αυτήν τη διαδικασία, πρέπει να γράψουμε τον κωδικό VBA σχετικά με το τι πρέπει να συμβεί αν κάνουμε κλικ στο κουμπί Άκυρο. Όταν κάνουμε κλικ σε αυτό το κουμπί ακύρωσης, θα πρέπει να κλείσει τη φόρμα χρήστη στην οποία εργαζόμαστε αυτήν τη στιγμή.

Γι 'αυτό, γράψτε τον κωδικό ως "Unload Me".

Κώδικας:

 Private Sub CancelButton_Click () Unload Me End Sub 

Το "Unload Me" είναι η λέξη που χρησιμοποιούμε για να κλείσουμε τη φόρμα χρήστη στην οποία εργαζόμαστε. Εδώ η φόρμα χρήστη αναγνωρίζει τη λέξη "Εγώ" ως το ίδιο το UserForm.

Το "Unload Me" μπορεί να χρησιμοποιηθεί μόνο σε αυτήν τη διαδικασία φόρμας χρήστη, δεν μπορούμε να καλέσουμε αυτήν τη δήλωση σε άλλες ενότητες. Εάν καλείται, θα εμφανιστεί το μήνυμα σφάλματος ως " Μη έγκυρη χρήση λέξης-κλειδιού ".

Εντάξει, ας τρέξουμε τον κωδικό χρησιμοποιώντας το πλήκτρο F5 ή χειροκίνητα τώρα, θα δούμε κενή φόρμα χρήστη.

Συμπληρώστε τα δεδομένα και κάντε κλικ στο Υποβολή.

Μόλις κάνετε κλικ στο κουμπί υποβολής, θα αποθηκεύσει τις τιμές στα αναφερόμενα κελιά.

Εάν ολοκληρωθεί η καταχώριση δεδομένων, πρέπει να κλείσουμε τη φόρμα χρήστη, έτσι δεν είναι;

Έτσι, κάντε κλικ στο κουμπί Ακύρωση για να κλείσετε τη φόρμα χρήστη, θα κλείσει τη φόρμα χρήστη.

# 2 - Κλείστε το UserForm χρησιμοποιώντας τη μέθοδο απόκρυψης στο Excel VBA

Μπορούμε επίσης να κλείσουμε το Userform χρησιμοποιώντας τη μέθοδο "Απόκρυψη" επίσης στο VBA. Τώρα για άλλη μια φορά θα κάνω διπλό κλικ στο κουμπί ακύρωσης για να δω την ιδιωτική υποδιαδικασία.

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

Για να χρησιμοποιήσουμε τη μέθοδο απόκρυψης πρέπει να καλέσουμε τη φόρμα χρήστη με το όνομά της. Σε αυτήν την περίπτωση, το όνομα φόρμας χρήστη είναι "MyUserForm".

Αφού αναφέρουμε τη φόρμα χρήστη με το όνομά της, αν βάλουμε μια τελεία (.) Μπορούμε να δούμε όλες τις ιδιότητες και τις μεθόδους αυτής της φόρμας χρήστη. Τώρα θα επιλέξω τη μέθοδο "Απόκρυψη".

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

Τώρα χωρίς κλικ στο κουμπί Υποβολή, θα κάνω κλικ στο κουμπί Ακύρωση, θα κρύψει τη φόρμα χρήστη.

Διαφορά μεταξύ εκφόρτωσης & απόκρυψης στο Excel VBA

Πρέπει να έχετε μια ερώτηση ποια είναι η διαφορά μεταξύ Unload & Hide, όπου και οι δύο εξυπηρετούν παρόμοιο σκοπό. Υπάρχει μια διαφορά μεταξύ αυτών των δύο. Τώρα πρώτα θα χρησιμοποιήσω τη δήλωση Unload Me. Κοιτάξτε την παρακάτω εικόνα.

Έχω εισαγάγει τα δεδομένα στη φόρμα χρήστη αλλά δεν τα υπέβαλα ακόμη. Εάν κάνω κλικ στο Άκυρο, θα ξεφορτώσει τη φόρμα χρήστη.

Τώρα πάλι θα τρέξω τον κωδικό μέσω του πλήκτρου συντόμευσης F5 excel ή χειροκίνητα, θα εμφανίσει κενή φόρμα χρήστη.

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

Τώρα θα χρησιμοποιήσω τη μέθοδο "Απόκρυψη".

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

Με αυτόν τον τρόπο μπορούμε να χρησιμοποιήσουμε τη δήλωση "Unload" & "Hide" για να κλείσουμε τις φόρμες χρήστη στο Excel VBA.