Πώς να χρησιμοποιήσετε τη συνάρτηση IsNumeric της VBA (9 παραδείγματα)

  • Μοιραστείτε Αυτό
Hugh West

Αν ψάχνετε για μερικούς από τους πιο εύκολους τρόπους για να χρησιμοποιήσετε το VBA IsNumeric συνάρτηση, τότε βρίσκεστε στο σωστό μέρος. Γενικά χρησιμοποιούμε αυτή τη συνάρτηση σε VBA για να ελέγξει αν μια έκφραση είναι αριθμός ή όχι και ανάλογα με την έκφραση θα επιστρέψει ΑΛΗΘΙΝΟ αν η έκφραση είναι αριθμός διαφορετικά FALSE .

Λήψη βιβλίου εργασίας

VBA IsNumeric Function.xlsm

Συνάρτηση VBA IsNumeric: Σύνταξη & προμήθεια; Επιχειρήματα

⦿ Σύνταξη

IsNumeric (Έκφραση)

⦿ Επιχειρήματα

Επιχειρήματα Υποχρεωτικό/προαιρετικό Επεξήγηση
Έκφραση Απαιτούμενο Πρόκειται για μια παραλλαγή που πρέπει να ελεγχθεί αν είναι αριθμός ή όχι.

⦿ Αξία επιστροφής

Είσοδος Αξία επιστροφής
Αριθμός ΑΛΗΘΙΝΟ
Δεν είναι αριθμός; Συμβολοσειρά FALSE

⦿ Έκδοση

Το Λειτουργία ISNUMERIC εισήχθη στο Excel 2000 έκδοση και είναι διαθέσιμη για όλες τις εκδόσεις μετά από αυτή.

9 παραδείγματα χρήσης της συνάρτησης IsNumeric της VBA

Σε αυτό το άρθρο, θα προσπαθήσουμε να παρουσιάσουμε τις χρήσεις του VBA IsNumeric με μερικά τυχαία παραδείγματα μαζί με μερικά παραδείγματα που περιλαμβάνουν τον ακόλουθο πίνακα.

Έχουμε χρησιμοποιήσει Microsoft Excel 365 έκδοση εδώ, μπορείτε να χρησιμοποιήσετε οποιεσδήποτε άλλες εκδόσεις ανάλογα με την ευκολία σας.

1. Έλεγχος του VBA IsNumeric με ορισμένες τυχαίες τιμές

Εδώ, θα δοκιμάσουμε μερικές τυχαίες συμβολοσειρές με την εντολή VBA ISNUMERIC , αν οι τιμές είναι αριθμητικές ή όχι.

Βήμα-01 :

➤ Go to Προγραμματιστής Καρτέλα>>, Visual Basic Επιλογή.

Στη συνέχεια, το Visual Basic Editor θα ανοίξει.

➤ Go to Εισαγωγή Καρτέλα>>, Ενότητα Επιλογή.

Μετά από αυτό, ένα Ενότητα θα δημιουργηθεί.

Βήμα-02 :

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue1() Dim x As Variant x = InputBox("Give any Value") MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει την τιμή εισόδου. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η τιμή εισόδου είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE Θα βρούμε την έξοδο μέσα σε ένα πλαίσιο μηνυμάτων ( MsgBox ).

➤ Τύπος F5 .

Τότε θα εμφανιστεί το ακόλουθο πλαίσιο εισαγωγής και αν γράψετε την τιμή 100 και πατήστε OK ,

θα εμφανιστεί ένα πλαίσιο μηνύματος που λέει "True" .

Για την εγγραφή της συμβολοσειράς Γάτα και πατώντας OK στο πλαίσιο εισαγωγής,

Λαμβάνουμε ένα πλαίσιο μηνύματος που λέει "False" .

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση VBA Randomize στο Excel (5 παραδείγματα)

2. Χρήση της VBA IsNumeric με τη δήλωση IF-THEN-ELSE

Σε αυτή την ενότητα, θα χρησιμοποιήσουμε το Λειτουργία ISNUMERIC με το IF-THEN-ELSE δήλωση σε μια VBA κώδικα για τον ορισμό των αριθμητικών και μη αριθμητικών τιμών.

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue2() Dim x As Variant x = InputBox("Δώστε οποιαδήποτε τιμή") If IsNumeric(x) = True Then MsgBox "Η δεδομένη τιμή είναι αριθμητική" Else MsgBox "Η δεδομένη τιμή δεν είναι αριθμητική" End If End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει την τιμή εισόδου. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ , ΕΆΝ θα επιστρέψει ένα μήνυμα που θα λέει "Η δεδομένη τιμή είναι αριθμητική" και αν ISNUMERIC επιστρέφει FALSE , τότε ΕΆΝ επιστρέφει ένα μήνυμα που εξηγεί "Η δεδομένη τιμή δεν είναι αριθμητική" .

➤ Τύπος F5 .

Τότε θα εμφανιστεί το ακόλουθο πλαίσιο εισαγωγής και αν γράψετε την τιμή 200 και πατήστε OK ,

θα εμφανιστεί ένα πλαίσιο μηνύματος που λέει "Η δεδομένη τιμή είναι αριθμητική" .

Για την εγγραφή της συμβολοσειράς Γάτα και πατώντας OK στο πλαίσιο εισαγωγής,

Λαμβάνουμε ένα πλαίσιο μηνύματος που λέει "Η δεδομένη τιμή δεν είναι αριθμητική" .

Διαβάστε περισσότερα: Δήλωση VBA If - Then - Else στο Excel (4 παραδείγματα)

3. Δημιουργία αντίθετου αποτελέσματος με τη συνάρτηση IsNumeric

Εδώ, θα δημιουργήσουμε ένα VBA κώδικα που θα μας δώσει το αντίστροφο αποτέλεσμα του Λειτουργία ISNUMERIC , που σημαίνει ότι για αριθμητικές τιμές θα έχουμε FALSE , ενώ για μη αριθμητικές τιμές, θα επιστρέψει ΑΛΗΘΙΝΟ .

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue3() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει την τιμή εισόδου. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ , ΕΆΝ θα επιστρέψει ένα μήνυμα που θα λέει "FALSE" και αν ISNUMERIC επιστρέφει FALSE , τότε ΕΆΝ επιστρέφει ένα μήνυμα που εξηγεί "TRUE" .

➤ Τύπος F5 .

Τότε θα εμφανιστεί το ακόλουθο πλαίσιο εισαγωγής και αν γράψετε την τιμή 25 και πατήστε OK ,

θα εμφανιστεί ένα πλαίσιο μηνύματος που λέει "FALSE" .

Για την εγγραφή της συμβολοσειράς Αλάσκα και πατώντας OK στο πλαίσιο εισαγωγής,

Λαμβάνουμε ένα πλαίσιο μηνύματος που λέει "TRUE" .

Σχετικό περιεχόμενο: Λειτουργία μορφοποίησης VBA στο Excel (8 χρήσεις με παραδείγματα)

4. Έλεγχος αν τα κενά είναι αριθμητικά ή όχι

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

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue4() Dim x As Variant x = " " MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει το Κενό . ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ αν η Κενό είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

Στη συνέχεια, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα λέει "False" που σημαίνει τα κενά δεν είναι αριθμητικά .

Διαβάστε περισσότερα: Τύπος Excel για τη δημιουργία τυχαίου αριθμού (5 παραδείγματα)

5. Έλεγχος αν οι ημερομηνίες είναι αριθμητικές ή όχι

Σε αυτή την ενότητα, θα χρησιμοποιήσουμε μια τυχαία ημερομηνία και θα ελέγξουμε αν η ημερομηνία είναι αριθμητική ή όχι.

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει μια ημερομηνία. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η ημερομηνία είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

Στη συνέχεια, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα λέει "False" που σημαίνει οι ημερομηνίες δεν είναι αριθμητικές .

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

➤ Πληκτρολογήστε τον ακόλουθο κωδικό

 Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2, 2) MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει μια ημερομηνία που δημιουργήθηκε από το Λειτουργία DATESERIAL . ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η ημερομηνία είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

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

Διαβάστε περισσότερα: Συνάρτηση ημερομηνίας VBA (12 χρήσεις μακροεντολών με παραδείγματα)

Παρόμοιες αναγνώσεις:

  • Πώς να χρησιμοποιήσετε τη λειτουργία MsgBox στο Excel VBA (μια πλήρης κατευθυντήρια γραμμή)
  • Χρήση της συνάρτησης Environ της VBA (4 παραδείγματα)
  • Πώς να χρησιμοποιήσετε το VBA και τη λειτουργία στο Excel (4 παραδείγματα)
  • Χρήση δήλωσης περίπτωσης VBA (13 παραδείγματα)
  • Πώς να χρησιμοποιήσετε τη συνάρτηση Log στο Excel VBA (5 κατάλληλα παραδείγματα)

6. Έλεγχος αν ο χρόνος είναι αριθμητικός ή όχι

Σε αυτή την ενότητα, θα ελέγξουμε αν οι χρόνοι είναι αριθμητικοί ή όχι χρησιμοποιώντας την εντολή Λειτουργία ISNUMERIC .

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει μια ώρα. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η ώρα είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

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

Μπορείτε επίσης να δοκιμάσετε με το Λειτουργία TIMESERIAL για να δημιουργήσετε ημερομηνίες και να ελέγξετε αν είναι αριθμητικές ή όχι.

➤ Πληκτρολογήστε τον ακόλουθο κωδικό

 Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει έναν χρόνο που δημιουργήθηκε από την Λειτουργία TIMESERIAL . ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η ώρα είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

Στη συνέχεια, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα λέει "False" και αυτή τη φορά.

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

➤ Πληκτρολογήστε τον ακόλουθο κωδικό

 Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub 

Εδώ, έχουμε δηλώσει x ως Παραλλαγή και θα αποθηκεύσει μια ώρα που βρίσκεται στο B2 κύτταρο. ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η ώρα είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE .

➤ Τύπος F5 .

Τέλος, θα εμφανιστεί ένα πλαίσιο μηνύματος που θα λέει "True" αυτή τη φορά.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το TimeSerial της VBA στο Excel (3 παραδείγματα)

7. Χρήση του IsNumeric της VBA για ένα εύρος τιμών

Εδώ, θα ελέγξουμε αν οι τιμές των Σημάδια/βαθμοί στήλη είναι αριθμητικές ή μη αριθμητικές και έχουν τα αποτελέσματα στη στήλη Ελέγξτε το στήλη.

Βήματα :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε τον ακόλουθο κώδικα

 Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub 

Έχουμε δηλώσει το κελί ως Range και χρησιμοποιήσαμε ένα ΓΙΑ βρόχος για τα κελιά της περιοχής "D5:D11" και για τα κύτταρα αυτά, η ISNUMERIC θα επιστρέψει ΑΛΗΘΙΝΟ εάν η τιμή είναι αριθμητική, διαφορετικά θα επιστρέψει FALSE και cell.Offset(0, 1) θα επιστρέψει τις τιμές εξόδου σε μια στήλη αργότερα στη στήλη εισόδου.

➤ Τύπος F5 .

Μετά από αυτό, θα έχουμε ΑΛΗΘΙΝΟ για τις αριθμητικές τιμές ή Μαρκς και FALSE για μη αριθμητικές τιμές ή Βαθμοί .

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση Val της VBA στο Excel (7 παραδείγματα)

8. Δημιουργία μιας συνάρτησης για τον έλεγχο ενός εύρους τιμών

Σε αυτή την ενότητα, θα δημιουργήσουμε μια συνάρτηση με την εντολή VBA ISNUMERIC και ελέγξτε αν οι τιμές των Σημάδια/βαθμοί είναι αριθμητικές ή μη αριθμητικές.

Βήμα-01 :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε και αποθηκεύστε τον ακόλουθο κώδικα

 Function IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function 

Αυτός ο κώδικας θα δημιουργήσει μια συνάρτηση με όνομα IsNumericTest .

Βήμα-02 :

➤ Επιστρέψτε στο κύριο φύλλο και πληκτρολογήστε τον ακόλουθο τύπο στο κελί E5

=IsNumericTest(D5)

D5 είναι η Σημάδια/βαθμοί ενός μαθητή και IsNumericTest θα επιστρέψει ΣΩΣΤΟ/ΛΑΘΟΣ ανάλογα με την τιμή.

➤ Τύπος ENTER και σύρετε προς τα κάτω το Χειρολαβή πλήρωσης εργαλείο.

Τέλος, θα έχουμε ΑΛΗΘΙΝΟ για τις αριθμητικές τιμές ή Μαρκς και FALSE για μη αριθμητικές τιμές ή Βαθμοί .

Σχετικό περιεχόμενο: Πώς να χρησιμοποιήσετε τη λειτουργία DIR της VBA στο Excel (7 παραδείγματα)

9. Καταμέτρηση μη αριθμητικών τιμών με τη συνάρτηση IsNumeric της VBA

Θέλουμε να μετρήσουμε τις μη αριθμητικές τιμές ή τους βαθμούς των Σημάδια/βαθμοί στήλη και για να το κάνουμε αυτό εδώ θα χρησιμοποιήσουμε τη στήλη VBA ISNUMERIC και έχουμε το συνολικό αριθμό των μη αριθμητικών τιμών που έχουμε στο Μετρήστε στήλη.

Βήμα-01 :

➤ Follow Βήμα-01 του τμήματος 1 .

➤ Γράψτε και αποθηκεύστε τον ακόλουθο κώδικα

 Function countnonnumeric(value As range) As Long Dim cell As range Dim count As Long For Each cell In value.Cells If Not IsNumeric(cell.value) Then count = count + 1 End If Next countnonnumeric = count End Function 

Αυτός ο κώδικας θα δημιουργήσει μια συνάρτηση με όνομα countnonnumeric .

Όταν η τιμή του κελιού δεν είναι αριθμητική τιμή, τότε το μετρήστε θα αυξηθεί κατά 1 .

Βήμα-02 :

➤ Επιστρέψτε στο κύριο φύλλο και πληκτρολογήστε τον ακόλουθο τύπο

=countnonnumeric(D5:D11)

D5:D11 είναι το εύρος του Σημάδια/βαθμοί των μαθητών και countnonnumeric θα επιστρέψει το συνολικό αριθμό των μη αριθμητικών βαθμών.

➤ Τύπος ENTER

Τέλος, θα λάβετε την τιμή 3 που σημαίνει ότι έχετε 3 Βαθμοί στο Σημάδια/βαθμοί στήλη.

Διαβάστε περισσότερα: Πώς να επιστρέψετε μια τιμή σε συνάρτηση VBA (τιμές σε συστοιχίες και μη συστοιχίες)

IsNumeric vs ISNUMBER

  • ISNUMERIC ελέγχει αν μια τιμή μπορεί να μετατραπεί σε αριθμό και ISNUMBER ελέγχει αν μια τιμή είναι αποθηκευμένη ως αριθμός.
  • Υπάρχουν ορισμένες διαφορές μεταξύ των Συνάρτηση VBA ISNUMERIC και το Excel Συνάρτηση ISNUMBER και προσπαθήσαμε να δείξουμε τις διαφορές παρακάτω, χρησιμοποιώντας την προηγουμένως δημιουργηθείσα Συνάρτηση IsNumericTest και το ενσωματωμένο Excel Συνάρτηση ISNUMBER .

Τμήμα πρακτικής

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

Συμπέρασμα

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

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.