Όνομα τύπου VBA

Αυτό το άρθρο θα δείξει τη χρήση της συνάρτησης VBA TypeName.

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

Προσδιορισμός του τύπου δεδομένων σε ένα κελί

Για να προσδιορίσουμε τον τύπο δεδομένων σε ένα κελί, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση TypeName με την ιδιότητα κελιών.

123 Sub TestCellDataType ()MsgBox "The type of data in" & Cells (3, 2). Address & "is" & TypeName (Cells (3, 2). Value)Τέλος υπο

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

Καθορισμός του τύπου του επιλεγμένου αντικειμένου

Μπορούμε επίσης να χρησιμοποιήσουμε το TypeName για να καθορίσουμε ποιος τύπος αντικειμένου έχει επιλεγεί σε ένα φύλλο εργασίας - ένα εύρος ή ένα γράφημα για παράδειγμα.

123 Sub TestSelection ()MsgBox "Έχετε επιλέξει ένα" & TypeName (Επιλογή)Τέλος υπο

Or, αν επιλέξουμε ένα γράφημα:

Μπορούμε να αναλύσουμε ακόμη περισσότερο και να επιλέξουμε τα αντικείμενα μέσα στο γράφημα και η μακροεντολή θα επιστρέψει αυτό που έχουμε επιλέξει.

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

Χρήση TypeName στα στοιχεία ελέγχου φόρμας

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

Στο παρακάτω παράδειγμα, έχω δημιουργήσει μια φόρμα χρήστη με μια ποικιλία στοιχείων ελέγχου - μερικά κουτιά κειμένου, ένα συνδυαστικό πλαίσιο, 2 κουμπιά επιλογών, 2 πλαίσια ελέγχου και 3 κουμπιά εντολών.

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

123456 Sub WhatControlType ()Dim ctl Ως αντικείμενοΓια κάθε ctl In Me.ControlsMsgBox "The control is a" & TypeName (ctl)Επόμενο ctlΤέλος υπο

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

123456789101112 Private Sub UserForm_Initialize ()Dim ctl Ως αντικείμενοΓια κάθε ctl In Me.ControlsΕάν TypeName (ctl) = "CheckBox" Τότεctl.Enabled = ΛάθοςElseIf TypeName (ctl) = "Κουμπί επιλογής" Τότεctl.Enabled = ΛάθοςΑλλούctl.Enabled = TrueΤέλος εανΕπόμενο ctlΤέλος υπο

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

12345678910 Private Sub cmdEnable_Click ()Dim ctl Ως αντικείμενοΓια κάθε ctl In Me.ControlsΕάν TypeName (ctl) = "CheckBox" Τότεctl.Enabled = Δεν ctl.EnabledElseIf TypeName (ctl) = "Κουμπί Option" Τότεctl.Enabled = Δεν ctl.EnabledΤέλος εανΕπόμενο ctlΤέλος υπο

Η λειτουργικότητα σε αυτόν τον κώδικα μπορεί επίσης να δημιουργηθεί χρησιμοποιώντας το VBA TypeOf Operator.

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

wave wave wave wave wave