Cuprins
Dacă sunteți în căutarea unora dintre cele mai simple modalități de a utiliza VBA IsNumeric atunci vă aflați în locul potrivit. În general, folosim această funcție în VBA pentru a testa dacă o expresie este un număr sau nu și, în funcție de expresie, va returna ADEVĂRAT dacă expresia este un număr, altfel FALSE .
Descărcați caietul de lucru
Funcția VBA IsNumeric.xlsmFuncția VBA IsNumeric: Sintaxă & Argumente
⦿ Sintaxa
IsNumeric (Expresie)
⦿ Argumente
Argument | Necesar/Opțional | Explicație |
---|---|---|
Expresie | Necesar | Este o variantă care trebuie verificată dacă este un număr sau nu. |
⦿ Valoarea de returnare
Intrare | Valoarea de returnare |
---|---|
Număr | ADEVĂRAT |
Nu este un număr; Șir de caractere | FALSE |
⦿ Versiunea
The Funcția ISNUMERIC a fost introdus în Excel 2000 și este disponibil pentru toate versiunile ulterioare.
9 exemple de utilizare a funcției VBA IsNumeric
În acest articol, vom încerca să demonstrăm utilizările din VBA IsNumeric cu câteva exemple aleatorii împreună cu câteva exemple, inclusiv tabelul următor.
Am folosit Microsoft Excel 365 aici, puteți utiliza orice altă versiune în funcție de confortul dumneavoastră.
1. Verificarea VBA IsNumeric cu câteva valori aleatorii
Aici, vom testa câteva șiruri de caractere aleatorii cu ajutorul funcției VBA ISNUMERIC , dacă valorile sunt numerice sau nu.
Etapa-01 :
➤ Mergeți la Dezvoltator Tab>> Visual Basic Opțiune.
Apoi, se va trece la Editor Visual Basic se va deschide.
➤ Mergeți la Introduceți Tab>> Modul Opțiune.
După aceea, un Modul vor fi create.
Etapa-02 :
➤ Scrieți următorul cod
Sub checkvalue1() Dim x As Variant x = InputBox("Give any Value") MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și se va stoca valoarea de intrare. Apoi ISNUMERIC va returna ADEVĂRAT în cazul în care valoarea de intrare este numerică, în caz contrar se va returna FALSE Vom găsi rezultatul într-o casetă de mesaje ( MsgBox ).
➤ Presa F5 .
Apoi veți obține următoarea casetă de intrare și dacă scrieți valoarea 100 și apăsați OK ,
veți primi o casetă de mesaj care spune "Adevărat" .
Pentru a scrie șirul de caractere Pisica și apăsând OK în caseta de introducere a datelor,
Primim o casetă de mesaje care spune "False" .
Citește mai mult: Cum se utilizează funcția VBA Randomize în Excel (5 exemple)
2. Utilizarea declarației VBA IsNumeric cu declarația IF-THEN-ELSE
În această secțiune, vom folosi Funcția ISNUMERIC cu IF-THEN-ELSE într-o declarație VBA pentru a defini valorile numerice și nenumerice.
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
Sub checkvalue2() Dim x As Variant x = InputBox("Give any Value") If IsNumeric(x) = True Then MsgBox "The Given Value is numeric" Else MsgBox "The Given Value is not numeric" End If End Sub
Aici, am declarat x ca un Varianta și va stoca valoarea de intrare. Când ISNUMERIC va returna ADEVĂRAT , IF va returna un mesaj care va spune "Valoarea dată este numerică" și dacă ISNUMERIC returnează FALSE , atunci IF returnează un mesaj care explică "Valoarea dată nu este numerică" .
➤ Presa F5 .
Apoi veți obține următoarea casetă de intrare și dacă scrieți valoarea 200 și apăsați OK ,
veți primi o casetă de mesaj care spune "Valoarea dată este numerică" .
Pentru a scrie șirul de caractere Pisica și apăsând OK în caseta de introducere a datelor,
Primim o casetă de mesaje care spune "Valoarea dată nu este numerică" .
Citește mai mult: Declarația VBA If - Then - Else în Excel (4 exemple)
3. Crearea unui rezultat opus cu ajutorul funcției IsNumeric
Aici, vom crea un fișier VBA cod care ne va da rezultatul invers față de cel din Funcția ISNUMERIC , ceea ce înseamnă că pentru valori numerice vom obține FALSE , iar pentru valori nenumerice, va returna ADEVĂRAT .
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
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
Aici, am declarat x ca un Varianta și va stoca valoarea de intrare. Când ISNUMERIC va returna ADEVĂRAT , IF va returna un mesaj care va spune "FALSE" și dacă ISNUMERIC returnează FALSE , atunci IF returnează un mesaj care explică "ADEVĂRAT" .
➤ Presa F5 .
Apoi veți obține următoarea casetă de intrare și dacă scrieți valoarea 25 și apăsați OK ,
veți primi o casetă de mesaj care spune "FALSE" .
Pentru a scrie șirul de caractere Alaska și apăsând OK în caseta de introducere a datelor,
Primim o casetă de mesaje care spune "ADEVĂRAT" .
Conținut conex: Funcția VBA Format în Excel (8 utilizări cu exemple)
4. Verificarea dacă blank-urile sunt numerice sau nu
Puteți verifica cu ușurință cu un VBA cod dacă spațiile libere sunt numerice sau nu.
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
Sub checkvalue4() Dim x As Variant x = " " " MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și se va stoca Gol . Apoi ISNUMERIC va returna ADEVĂRAT în cazul în care Gol este numeric, în caz contrar se va returna FALSE .
➤ Presa F5 .
După aceea, veți primi o casetă de mesaje care spune "False" ceea ce înseamnă că spaimele nu sunt numerice .
Citește mai mult: Formula Excel pentru a genera numere aleatorii (5 exemple)
5. Verificarea dacă datele sunt numerice sau nu
În această secțiune, vom utiliza o dată aleatorie și vom verifica dacă data este sau nu numerică.
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și se va stoca o dată. Apoi ISNUMERIC va returna ADEVĂRAT în cazul în care data este numerică, în caz contrar se va returna FALSE .
➤ Presa F5 .
După aceea, veți primi o casetă de mesaje care spune "False" ceea ce înseamnă că datele nu sunt numerice .
De asemenea, putem încerca cu Funcția DATESERIAL pentru a crea date și pentru a verifica dacă este vorba de date numerice sau nu.
➤ Introduceți următorul cod
Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2, 2) MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și se va stoca o dată creată de către Funcția DATESERIAL . Apoi ISNUMERIC va returna ADEVĂRAT în cazul în care data este numerică, în caz contrar se va returna FALSE .
➤ Presa F5 .
În schimb, veți primi o casetă de mesaje care va spune "False" și de această dată.
Citește mai mult: Funcția VBA Date (12 utilizări ale macrourilor cu exemple)
Lecturi similare:
- Cum se utilizează funcția MsgBox în Excel VBA (un ghid complet)
- Utilizați funcția VBA Environ (4 exemple)
- Cum se utilizează VBA și funcția în Excel (4 exemple)
- Utilizați declarația de caz VBA (13 Exemple)
- Cum se utilizează funcția Log în Excel VBA (5 exemple adecvate)
6. Verificarea dacă timpul este numeric sau nu
În această secțiune, vom verifica dacă orele sunt sau nu numerice, folosind funcția Funcția ISNUMERIC .
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și se va stoca o oră. Apoi ISNUMERIC va returna ADEVĂRAT dacă ora este numerică, altfel se va returna FALSE .
➤ Presa F5 .
După aceea, veți primi o casetă de mesaj care va spune "False" ceea ce înseamnă că orele nu sunt numerice .
De asemenea, puteți încerca cu Funcția TIMESERIAL pentru a crea date și pentru a verifica dacă este vorba de date numerice sau nu.
➤ Introduceți următorul cod
Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și va stoca un timp creat de către Funcția TIMESERIAL . Apoi ISNUMERIC va returna ADEVĂRAT dacă ora este numerică, altfel se va returna FALSE .
➤ Presa F5 .
Apoi, veți primi o casetă de mesaj care va spune "False" și de această dată.
Din nou, putem încerca să facem referire la o valoare de timp dintr-o celulă a unei foi.
➤ Introduceți următorul cod
Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub
Aici, am declarat x ca un Varianta și va stoca o oră care se află în B2 celulă. Atunci ISNUMERIC va returna ADEVĂRAT dacă ora este numerică, altfel se va returna FALSE .
➤ Presa F5 .
În cele din urmă, veți primi o casetă de mesaj care spune "Adevărat" de data aceasta.
Citește mai mult: Cum se utilizează VBA TimeSerial în Excel (3 exemple)
7. Utilizarea aplicației VBA IsNumeric pentru un interval de valori
Aici, vom verifica dacă valorile din Mărci/grade sunt numerice sau nenumerice și au rezultatele în coloana Verificați coloană.
Pași :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți următorul cod
Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub
Am declarat celula ca fiind Range și am folosit un câmp PENTRU buclă pentru celulele din interval "D5:D11" iar pentru aceste celule, se aplică ISNUMERIC va returna ADEVĂRAT dacă valoarea este numerică, în caz contrar se va returna FALSE și cell.Offset(0, 1) va returna valorile de ieșire dintr-o coloană mai târziu în coloana de intrare.
➤ Presa F5 .
După aceea, vom avea ADEVĂRAT pentru valorile numerice sau Marks și FALSE pentru valori nenumerice sau Clasele .
Citește mai mult: Cum se utilizează funcția VBA Val în Excel (7 exemple)
8. Crearea unei funcții pentru a testa un interval de valori
În această secțiune, vom crea o funcție cu extensia VBA ISNUMERIC și se verifică dacă valorile din Mărci/grade coloană sunt numerice sau nenumerice.
Etapa-01 :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți și salvați următorul cod
Function IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function
Acest cod va crea o funcție numită IsNumericTest .
Etapa-02 :
➤ Reveniți la foaia principală și introduceți următoarea formulă în celulă E5
=IsNumericTest(D5)
D5 este Mărci/grade a unui elev și IsNumericTest va returna ADEVĂRAT/FALSE în funcție de valoare.
➤ Presa ENTER și trageți în jos Mâner de umplere instrument.
În cele din urmă, vom avea ADEVĂRAT pentru valorile numerice sau Marks și FALSE pentru valori nenumerice sau Clasele .
Conținut conex: Cum se utilizează funcția VBA DIR în Excel (7 exemple)
9. Numărarea valorilor nenumerice cu funcția VBA IsNumeric
Dorim să numărăm valorile nenumerice sau notele din Mărci/grade și pentru a face acest lucru aici vom folosi coloana VBA ISNUMERIC și să avem numărul total al valorilor nenumerice pe care le avem în Contul coloană.
Etapa-01 :
➤ Urmăriți Etapa-01 din secțiunea 1 .
➤ Scrieți și salvați următorul cod
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
Acest cod va crea o funcție numită countnonnumeric .
Atunci când valoarea celulei nu va fi o valoare numerică, atunci numărătoare va fi majorată cu 1 .
Etapa-02 :
➤ Reveniți la foaia principală și introduceți următoarea formulă
=countnonnumeric(D5:D11)
D5:D11 este domeniul de acțiune al Mărci/grade studenților și countnonnumeric va returna numărul total de note nenumerice.
➤ Presa ENTER
În cele din urmă, veți obține valoarea 3 ceea ce înseamnă că aveți 3 Gradele în Mărci/grade coloană.
Citește mai mult: Cum se returnează o valoare în funcția VBA (atât valori din tablouri, cât și valori din afara tablourilor)
IsNumeric vs ISNUMBER
- ISNUMERIC verifică dacă o valoare poate fi convertită într-un număr și ISNUMBER verifică dacă o valoare este stocată ca număr.
- Există unele diferențe între Funcția VBA ISNUMERIC și Excel Funcția ISNUMBER și am încercat să arătăm diferențele mai jos, folosind aplicația noastră creată anterior Funcția IsNumericTest și Excel încorporat Funcția ISNUMBER .
Secțiunea practică
Pentru a face practică de unul singur am pus la dispoziție un Practică ca mai jos, într-o foaie numită Practică Vă rog să o faceți singur.
Concluzie
În acest articol, am încercat să acoperim câteva dintre modalitățile de utilizare a VBA ISNUMERIC Dacă aveți sugestii sau întrebări, nu ezitați să le împărtășiți în secțiunea de comentarii.