Χρήση Isnumeric και Isnumber στο VBA

Αυτό το σεμινάριο θα σας διδάξει πώς να χρησιμοποιήσετε το IsNumeric και IsNumber λειτουργεί στο VBA για να ελέγξει αν οι τιμές είναι αριθμοί.

Το IsNumeric είναι μια ενσωματωμένη συνάρτηση VBA, ενώ το IsNumber είναι μια συνάρτηση Excel που μπορεί να κληθεί από τον κώδικα VBA.

Διαφορά μεταξύ IsNumber και IsNumeric στο VBA

Το IsNumber ελέγχει αν μια τιμή είναι αποθηκευμένη ως αριθμός. Ενώ, το IsNumeric ελέγχει εάν μια τιμή μπορεί να μετατραπεί σε αριθμό.

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

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

Χρήση του IsNumeric στο VBA

IsNumeric είναι η συνάρτηση VBA η οποία ελέγχει εάν μια τιμή είναι αριθμητική και επιστρέφει ως αποτέλεσμα μια πραγματική ή λανθασμένη Boolean.

Η συνάρτηση μπορεί να λάβει μια μεταβλητή ή μια τιμή κελιού.

Ακολουθεί ένα παράδειγμα λήψης τιμής κελιού:

12345 Εάν IsNumeric (Sheet1.Range ("A1"). Value) = True ΤότεMsgBox "Η τιμή στο Α1 είναι αριθμητική"ΑλλούMsgBox "Η τιμή στο A1 δεν είναι αριθμητική"Τέλος εαν

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

Αυτό το επόμενο παράδειγμα εκτελεί την ίδια λειτουργία, εκτός από μια μεταβλητή αντί για μια τιμή κελιού:

123456789 Dim n ως Παραλλαγήn = Sheet1.Range ("A1"). ΤιμήΕάν IsNumeric (n) = True ΤότεMsgBox "Η τιμή στο Α1 είναι αριθμητική"ΑλλούMsgBox "Η τιμή στο A1 δεν είναι αριθμητική"Τέλος εαν

Χρήση του IsNumber στο VBA

IsNumber είναι μια συνάρτηση Excel, η οποία μπορεί να χρησιμοποιηθεί σε VBA. Έχει σχεδόν παρόμοια έξοδο με το IsNumeric. Ας δούμε το παράδειγμα της συνάρτησης IsNumber:

123456789 Εάν Application.WorksheetFunction.IsNumber (Sheet1.Range ("A1"). Value) = True ΤότεMsgBox "Η τιμή στο Α1 είναι αριθμητική"ΑλλούMsgBox "Η τιμή στο A1 δεν είναι αριθμητική"Τέλος εαν

Όπως μπορείτε να δείτε από τον κώδικα, η διαφορά είναι στη σύνταξη κατά την κλήση της συνάρτησης. Δεδομένου ότι το IsNumber είναι η συνάρτηση Excel, πρέπει να βάλουμε Application.WorksheetFunction πριν από την κλήση λειτουργίας.

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

wave wave wave wave wave