Kuidas kasutada VBA funktsiooni IsNumeric (9 näidet)

  • Jaga Seda
Hugh West

Kui otsite kõige lihtsamaid viise, kuidas kasutada VBA IsNumeric funktsiooni, siis olete õiges kohas. Üldiselt kasutame seda funktsiooni dokumendis VBA testida, kas väljendus on arv või mitte, ja sõltuvalt väljendist tagastab ta TÕELINE kui väljendus on arv, vastasel juhul VALE .

Lae alla töövihik

VBA IsNumbriline funktsioon.xlsm

VBA IsNumeric funktsioon: Süntaks & Argumendid

⦿ Süntaks

IsNumeric (Väljend)

⦿ Argumendid

Argument Kohustuslik/valikuline Selgitus
Väljendus Nõutav See on variant, mille puhul tuleb kontrollida, kas tegemist on numbriga või mitte.

⦿ Tagastatav väärtus

Sisend Tagastatav väärtus
Number TÕELINE
Ei ole number; String VALE

⦿ Versioon

The ISNUMERIC funktsioon võeti kasutusele Excel 2000 versioon ja on saadaval kõigi järgnevate versioonide jaoks.

9 näidet VBA IsNumeric funktsiooni kasutamise kohta

Selles artiklis püüame näidata, kuidas kasutada VBA IsNumeric mõned juhuslikud näited koos mõningate näidetega, sealhulgas järgmise tabeliga.

Me oleme kasutanud Microsoft Excel 365 versiooni siin, võite kasutada mis tahes muid versioone vastavalt oma mugavusele.

1. VBA IsNumeric'i kontrollimine mõne juhusliku väärtusega

Siinkohal testime mõned juhuslikud stringid koos VBA ISNUMERIC , kas väärtused on numbrilised või mitte.

Step-01 :

➤ Go to Arendaja Tab>> Visual Basic Võimalus.

Siis on Visual Basic toimetaja avaneb.

➤ Go to Sisesta Tab>> Moodul Võimalus.

Pärast seda on Moodul luuakse.

Step-02 :

➤ Kirjutage järgmine kood

 Sub checkvalue1() Dim x As Variant x = InputBox("Anna mis tahes väärtus") MsgBox IsNumeric(x) End Sub 

Siinkohal oleme deklareerinud x kui Variant ja see salvestab sisendväärtuse. ISNUMERIC tagastab TÕELINE kui sisendväärtus on numbriline, vastasel juhul tagastatakse VALE Me leiame väljundi sõnumi kastis ( MsgBox ).

➤ Press F5 .

Siis saate järgmise sisendkasti ja kui kirjutate väärtuse 100 ja vajutage OK ,

saate teate kasti, mis ütleb "Tõsi" .

Stringi kirjutamiseks Cat ja vajutades OK sisendkastis,

Me saame sõnumi kasti, mis ütleb "False" .

Loe edasi: Kuidas kasutada VBA juhusliku funktsiooni Excelis (5 näidet)

2. VBA IsNumeric'i kasutamine koos IF-THEN-ELSE avaldusega

Selles jaotises kasutame me ISNUMERIC funktsioon koos IF-THEN-ELSE avaldus VBA kood numbriliste ja mittenumbriliste väärtuste määratlemiseks.

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

 Sub checkvalue2() Dim x As Variant x = InputBox("Anna mis tahes väärtus") If IsNumeric(x) = True Then MsgBox "Antud väärtus on numbriline" Else MsgBox "Antud väärtus ei ole numbriline" End If End Sub 

Siinkohal oleme deklareerinud x kui Variant ja see salvestab sisendväärtuse. Kui ISNUMERIC tagastab TÕELINE , IF tagastab sõnumi, mis ütleb "Antud väärtus on numbriline" ja kui ISNUMERIC tagastab VALE , siis IF tagastab sõnumi, mis selgitab "Antud väärtus ei ole numbriline" .

➤ Press F5 .

Siis saate järgmise sisendkasti ja kui kirjutate väärtuse 200 ja vajutage OK ,

saate teate kasti, mis ütleb "Antud väärtus on numbriline" .

Stringi kirjutamiseks Cat ja vajutades OK sisendkastis,

Me saame sõnumi kasti, mis ütleb "Antud väärtus ei ole numbriline" .

Loe edasi: VBA If - Then - Else avaldus Excelis (4 näidet)

3. Vastupidise tulemuse loomine funktsiooni IsNumeric abil

Siinkohal loome me VBA kood, mis annab meile vastupidise tulemuse kui ISNUMERIC funktsioon , mis tähendab, et numbriliste väärtuste puhul saame VALE , ja mittenumbriliste väärtuste puhul tagastab see TÕELINE .

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

 Sub checkvalue3() Dim x As Variant x = InputBox("Anna mis tahes väärtus") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Siinkohal oleme deklareerinud x kui Variant ja see salvestab sisendväärtuse. Kui ISNUMERIC tagastab TÕELINE , IF tagastab sõnumi, mis ütleb "FALSE" ja kui ISNUMERIC tagastab VALE , siis IF tagastab sõnumi, mis selgitab "TRUE" .

➤ Press F5 .

Siis saate järgmise sisendkasti ja kui kirjutate väärtuse 25 ja vajutage OK ,

saate teate kasti, mis ütleb "FALSE" .

Stringi kirjutamiseks Alaska ja vajutades OK sisendkastis,

Me saame sõnumi kasti, mis ütleb "TRUE" .

Seotud sisu: VBA vormingu funktsioon Excelis (8 kasutust koos näidetega)

4. Kontrollida, kas tühikud on numbrilised või mitte

Saate hõlpsasti kontrollida VBA kood, kas tühikud on numbrilised või mitte.

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab Tühi . siis ISNUMERIC tagastab TÕELINE kui Tühi on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Pärast seda kuvatakse sõnumikast, mis ütleb, et "False" mis tähendab, et tühikud ei ole numbrilised .

Loe edasi: Exceli valem juhusliku numbri genereerimiseks (5 näidet)

5. Kontrollida, kas kuupäevad on numbrilised või mitte

Selles jaotises kasutame juhuslikku kuupäeva ja kontrollime, kas kuupäev on numbriline või mitte.

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab kuupäeva. Siis ISNUMERIC tagastab TÕELINE kui kuupäev on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Pärast seda kuvatakse sõnumikast, mis ütleb, et "False" mis tähendab, et kuupäevad ei ole numbrilised .

Me võime proovida ka koos DATESERIAL funktsioon luua kuupäevad ja kontrollida, kas see on numbriline või mitte.

➤ Sisestage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab kuupäeva, mis on loodud DATESERIAL funktsioon . siis ISNUMERIC tagastab TÕELINE kui kuupäev on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Vastuseks saate sõnumi kasti, mis ütleb, et "False" ka seekord.

Loe edasi: VBA kuupäevafunktsioon (12 makrode kasutamist koos näidetega)

Sarnased lugemised:

  • Kuidas kasutada MsgBox-funktsiooni Excel VBA-s (täielik juhend)
  • VBA funktsiooni Environ kasutamine (4 näidet)
  • Kuidas kasutada VBA-d ja funktsiooni Excelis (4 näidet)
  • Kasutage VBA juhtumi avaldust (13 näidet)
  • Kuidas kasutada logifunktsiooni Excel VBA-s (5 sobivat näidet)

6. Kontrollida, kas aeg on numbriline või mitte

Selles jaotises kontrollime, kas ajad on numbrilised või mitte, kasutades funktsiooni ISNUMERIC funktsioon .

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab aja. Siis ISNUMERIC tagastab TÕELINE kui aeg on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Pärast seda kuvatakse teile sõnumikast, milles öeldakse "False" mis tähendab, et ajad ei ole numbrilised .

Võite proovida ka koos TIMESERIAL funktsioon luua kuupäevad ja kontrollida, kas see on numbriline või mitte.

➤ Sisestage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab aja, mis on loodud TIMESERIAL funktsioon . siis ISNUMERIC tagastab TÕELINE kui aeg on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Seejärel kuvatakse teile sõnumikast, mis ütleb "False" ka seekord.

Jällegi võime proovida viitamist ajaväärtusele lehe lahtris.

➤ Sisestage järgmine kood

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

Siinkohal oleme deklareerinud x kui Variant ja see salvestab aja, mis on ajaliselt B2 rakk. Siis ISNUMERIC tagastab TÕELINE kui aeg on numbriline, vastasel juhul tagastatakse VALE .

➤ Press F5 .

Lõpuks kuvatakse teile sõnumikast, mis ütleb "Tõsi" seekord.

Loe edasi: Kuidas kasutada VBA TimeSerial'i Excelis (3 näidet)

7. VBA IsNumeric kasutamine väärtusvahemiku jaoks

Siinkohal kontrollime, kas väärtused Märgid/astmed veerg on numbriline või mittenumbriline ja mille tulemused on esitatud veerus Vaata veerus.

Sammud :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage järgmine kood

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

Me deklareerisime lahtri Range'iks ja kasutasime funktsiooni FOR tsükkel vahemiku lahtritele "D5:D11" ja nende rakkude puhul on ISNUMERIC tagastab TÕELINE kui väärtus on numbriline, vastasel juhul tagastatakse VALE ja cell.Offset(0, 1) tagastab väljundväärtused ühes veerus hiljem sisendveergu.

➤ Press F5 .

Pärast seda on meil TÕELINE numbriliste väärtuste puhul või Marks ja VALE mittenumbriliste väärtuste puhul või Klassid .

Loe edasi: Kuidas kasutada VBA Val funktsiooni Excelis (7 näidet)

8. Funktsiooni loomine väärtusvahemiku testimiseks

Selles jaotises loome funktsiooni koos VBA ISNUMERIC ja kontrollida, kas väärtused Märgid/astmed veerg on numbriline või mittenumbriline.

Step-01 :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage ja salvestage järgmine kood

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

See kood loob funktsiooni nimega IsNumericTest .

Step-02 :

➤ Pöörduge tagasi põhilehele ja sisestage lahtrisse järgmine valem E5

=IsNumericTest(D5)

D5 on Märgid/astmed õpilase ja IsNumericTest tagastab TÕENE/VALE sõltuvalt väärtusest.

➤ Press SISESTA ja tõmmake alla Täitmise käepide tööriist.

Lõpuks on meil TÕELINE numbriliste väärtuste puhul või Marks ja VALE mittenumbriliste väärtuste puhul või Klassid .

Seotud sisu: Kuidas kasutada VBA DIR-funktsiooni Excelis (7 näidet)

9. Mittenumbriliste väärtuste loendamine VBA IsNumeric funktsiooniga

Me tahame loendada mitte-numbrilised väärtused või klassid Märgid/astmed veergu ja selleks kasutame siinkohal funktsiooni VBA ISNUMERIC ja meil on kogu mitte-numbriliste väärtuste arv, mis on meil olemas Krahv veerus.

Step-01 :

➤ Jälgi Step-01 jagu 1 .

➤ Kirjutage ja salvestage järgmine kood

 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 

See kood loob funktsiooni nimega countnonnumeric .

Kui lahtri väärtus ei ole numbriline väärtus, siis on loe suurendatakse 1 .

Step-02 :

➤ Pöörduge tagasi põhilehele ja sisestage järgmine valem

=countnonnumeric(D5:D11)

D5:D11 on vahemik Märgid/astmed õpilaste ja countnonnumeric tagastab mittenumbriliste klasside koguarvu.

➤ Press SISESTA

Lõpuks saate väärtuse 3 mis tähendab, et teil on 3 Klassifitseerimine Märgid/astmed veerus.

Loe edasi: Kuidas tagastada väärtus VBA-funktsioonis (nii massiivi kui ka mitte-massiivi väärtused)

IsNumeric vs ISNUMBER

  • ISNUMERIC kontrollib, kas väärtust saab teisendada arvuks ja ISNUMBER kontrollib, kas väärtus on salvestatud numbrina.
  • On mõningaid erinevusi VBA ISNUMERIC funktsioon ja Excel ISNUMBER funktsioon ja me oleme püüdnud allpool näidata erinevusi, kasutades meie eelnevalt loodud IsNumericTest funktsioon ja sisseehitatud Excel ISNUMBER funktsioon .

Praktika sektsioon

Selleks, et ise harjutada, on meil olemas Praktika lõik nagu allpool lehel nimega Praktika Palun tehke seda ise.

Kokkuvõte

Selles artiklis püüdsime käsitleda mõningaid viise, kuidas kasutada VBA ISNUMERIC funktsioon. Loodan, et see on teile kasulik. Kui teil on ettepanekuid või küsimusi, jagage neid julgelt kommentaaride sektsioonis.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.