Kaip naudoti VBA funkciją IsNumeric (9 pavyzdžiai)

  • Pasidalinti
Hugh West

Jei ieškote paprasčiausių būdų, kaip naudoti VBA IsNumeric funkciją, tuomet esate tinkamoje vietoje. Paprastai šią funkciją naudojame VBA patikrinti, ar išraiška yra skaičius, ar ne, ir, priklausomai nuo išraiškos, grąžinti TRUE jei išraiška yra skaičius, priešingu atveju FALSE .

Atsisiųsti darbo knygą

VBA IsNumeric Function.xlsm

VBA IsNumeric funkcija: sintaksė ir kampas; argumentai

⦿ Sintaksė

IsNumeric (Išraiška)

⦿ Argumentai

Argumentas Privalomas / pasirenkamas Paaiškinimas
Išraiška Reikalinga Tai variantas, kurį reikia patikrinti, ar jis yra skaičius, ar ne.

⦿ Grąžinama vertė

Įvestis Grąžinama vertė
Numeris TRUE
Ne skaičius; eilutė FALSE

⦿ Versija

Svetainė ISNUMERIC funkcija buvo pristatytas "Excel 2000 versiją ir yra prieinama visose vėlesnėse versijose.

9 VBA funkcijos IsNumeric naudojimo pavyzdžiai

Šiame straipsnyje pabandysime parodyti, kaip galima naudoti VBA IsNumeric kartu su keliais atsitiktiniais pavyzdžiais, įskaitant toliau pateiktą lentelę.

Naudojome "Microsoft Excel 365 versiją, bet galite naudoti bet kokias kitas versijas pagal savo patogumą.

1. VBA IsNumeric tikrinimas su kai kuriomis atsitiktinėmis vertėmis

Čia išbandysime keletą atsitiktinių eilučių su VBA ISNUMERIC , ar reikšmės yra skaitinės, ar ne.

Žingsnis-01 :

➤ Eiti į Kūrėjas Skirtukas>> "Visual Basic Galimybė.

Tada "Visual Basic" redaktorius atsivers.

➤ Eiti į Įdėkite Skirtukas>> Modulis Galimybė.

Po to Modulis bus sukurta.

Žingsnis-02 :

➤ Parašykite šį kodą

 Sub checkvalue1() Dim x As Variant x = InputBox("Nurodykite bet kokią reikšmę") MsgBox IsNumeric(x) End Sub 

Čia mes paskelbėme x kaip Variantas ir išsaugos įvesties reikšmę. Tada ISNUMERIC bus grąžinama TRUE jei įvesties reikšmė yra skaitinė, kitu atveju bus grąžinama FALSE . Išvestį rasime pranešimo lange ( MsgBox ).

➤ Spauda F5 .

Tada gausite tokį įvesties langelį, o jei įrašysite reikšmę 100 ir paspauskite GERAI ,

gausite pranešimo langą, kuriame rašoma "True" .

Įrašant eilutę Cat ir paspausdami GERAI įvesties laukelyje,

Gauname pranešimo langą, kuriame rašoma "False" .

Skaityti daugiau: Kaip naudoti VBA atsitiktinio pasirinkimo funkciją "Excel" programoje (5 pavyzdžiai)

2. VBA IsNumeric naudojimas su IF-THEN-ELSE teiginiu

Šiame skyriuje naudosime ISNUMERIC funkcija su IF-THEN-ELSE teiginys VBA kodas, skirtas apibrėžti skaitines ir neskaitines reikšmes.

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

 Sub checkvalue2() Dim x As Variant x = InputBox("Nurodykite bet kokią reikšmę") If IsNumeric(x) = True Then MsgBox "Nurodyta reikšmė yra skaitinė" Else MsgBox "Nurodyta reikšmė nėra skaitinė" End If End Sub 

Čia mes paskelbėme x kaip Variantas ir bus išsaugota įvesties vertė. ISNUMERIC bus grąžinama TRUE , IF bus grąžinamas pranešimas, kuriame sakoma "Pateikta reikšmė yra skaitinė" ir jei ISNUMERIC grąžina FALSE , tada IF grąžina pranešimą, kuriame paaiškinama "Nurodyta reikšmė nėra skaitinė" .

➤ Spauda F5 .

Tada gausite tokį įvesties langelį, o jei įrašysite reikšmę 200 ir paspauskite GERAI ,

gausite pranešimo langą, kuriame rašoma "Pateikta reikšmė yra skaitinė" .

Įrašant eilutę Cat ir paspausdami GERAI įvesties laukelyje,

Gauname pranešimo langą, kuriame rašoma "Nurodyta reikšmė nėra skaitinė" .

Skaityti daugiau: VBA If - Then - Else pareiškimas programoje "Excel" (4 pavyzdžiai)

3. Priešingo rezultato kūrimas naudojant funkciją IsNumeric

Čia sukursime VBA kodą, kuris duos atvirkštinį rezultatą ISNUMERIC funkcija , o tai reiškia, kad skaitinėms reikšmėms gausime FALSE , o jei reikšmės nesusijusios su skaičiais, bus grąžinama TRUE .

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

 Sub checkvalue3() Dim x As Variant x = InputBox("Suteikite bet kokią reikšmę") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Čia mes paskelbėme x kaip Variantas ir bus išsaugota įvesties vertė. ISNUMERIC bus grąžinama TRUE , IF bus grąžinamas pranešimas, kuriame sakoma "FALSE" ir jei ISNUMERIC grąžina FALSE , tada IF grąžina pranešimą, kuriame paaiškinama "TRUE" .

➤ Spauda F5 .

Tada gausite tokį įvesties langelį, o jei įrašysite reikšmę 25 ir paspauskite GERAI ,

gausite pranešimo langą, kuriame rašoma "FALSE" .

Įrašant eilutę Aliaska ir paspausdami GERAI įvesties laukelyje,

Gauname pranešimo langą, kuriame rašoma "TRUE" .

Susijęs turinys: VBA formato funkcija programoje "Excel" (8 naudojimo būdai ir pavyzdžiai)

4. Patikrinimas, ar "Blanks" yra skaitmeninis, ar ne

Galite lengvai patikrinti naudodami VBA kodas, ar tušti langeliai yra skaitmeniniai, ar ne.

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir jis išsaugos Tuščia . tada ISNUMERIC bus grąžinama TRUE jei Tuščia yra skaitinis, priešingu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Vėliau pasirodys pranešimo langas, kuriame bus rašoma. "False" o tai reiškia. tušti langeliai nėra skaitmeniniai. .

Skaityti daugiau: "Excel" formulė atsitiktiniam skaičiui generuoti (5 pavyzdžiai)

5. Patikrinimas, ar datos yra skaitmeninės, ar ne

Šiame skyriuje naudosime atsitiktinę datą ir patikrinsime, ar data yra skaitinė, ar ne.

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir jame bus įrašyta data. Tada ISNUMERIC bus grąžinama TRUE jei data yra skaitinė, kitu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Po to pasirodys pranešimo langas, kuriame bus rašoma. "False" o tai reiškia. datos nėra skaitinės. .

Taip pat galime pabandyti su DATESERIAL funkcija sukurti datas ir patikrinti, ar jos yra skaitinės, ar ne.

➤ Įveskite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir jame bus išsaugota data, sukurta DATESERIAL funkcija . tada ISNUMERIC bus grąžinama TRUE jei data yra skaitinė, kitu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Grąžindami gausite pranešimo langą, kuriame bus rašoma. "False" taip pat ir šį kartą.

Skaityti daugiau: VBA datos funkcija (12 makrokomandų naudojimo pavyzdžių)

Panašūs skaitiniai:

  • Kaip naudoti MsgBox funkciją "Excel VBA" (išsamios gairės)
  • VBA funkcijos Environ naudojimas (4 pavyzdžiai)
  • Kaip naudoti VBA ir funkciją "Excel" programoje (4 pavyzdžiai)
  • VBA atvejo ataskaitos naudojimas (13 pavyzdžių)
  • Kaip naudoti "Log" funkciją "Excel VBA" (5 tinkami pavyzdžiai)

6. Patikrinimas, ar laikas yra skaitmeninis, ar ne

Šiame skyriuje patikrinsime, ar laikai yra skaitiniai, ar ne, naudodami ISNUMERIC funkcija .

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir bus įrašytas laikas. Tada ISNUMERIC bus grąžinama TRUE jei laikas yra skaitinis, kitu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Po to pasirodys pranešimo langas, kuriame bus rašoma. "False" o tai reiškia. laikai nėra skaitmeniniai .

Taip pat galite pabandyti naudoti TIMESERIAL funkcija sukurti datas ir patikrinti, ar jos yra skaitinės, ar ne.

➤ Įveskite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir jame bus išsaugotas laikas, sukurtas TIMESERIAL funkcija . tada ISNUMERIC bus grąžinama TRUE jei laikas yra skaitinis, kitu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Tada pasirodys pranešimo langas, kuriame bus rašoma. "False" taip pat ir šį kartą.

Vėl galime išbandyti nuorodą į laiko vertę lapo ląstelėje.

➤ Įveskite šį kodą

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

Čia mes paskelbėme x kaip Variantas ir jame bus įrašytas laikas, esantis B2 ląstelė. Tada ISNUMERIC bus grąžinama TRUE jei laikas yra skaitinis, kitu atveju bus grąžinama FALSE .

➤ Spauda F5 .

Galiausiai pasirodys pranešimo langas, kuriame bus rašoma "True" šį kartą.

Skaityti daugiau: Kaip naudoti VBA TimeSerial programoje "Excel" (3 pavyzdžiai)

7. VBA IsNumeric naudojimas verčių diapazonui

Čia patikrinsime, ar reikšmės Žymos ir (arba) įvertinimai stulpelis yra skaitinis arba neskaitmeninis, o rezultatai Patikrinkite skiltis.

Žingsniai :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite šį kodą

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

Deklaravome ląstelę kaip Range ir naudojome a FOR ciklas, skirtas diapazono ląstelėms "D5:D11" ir šioms ląstelėms ISNUMERIC bus grąžinama TRUE jei reikšmė yra skaitinė, kitu atveju bus grąžinama FALSE ir cell.Offset(0, 1) grąžins išvesties reikšmes viename stulpelyje vėliau į įvesties stulpelį.

➤ Spauda F5 .

Po to turėsime TRUE skaitinėms vertėms arba Žymos ir FALSE neskaitmeninėms reikšmėms arba Klasės .

Skaityti daugiau: Kaip "Excel" programoje naudoti VBA Val funkciją (7 pavyzdžiai)

8. Funkcijos, skirtos verčių diapazonui tikrinti, sukūrimas

Šiame skyriuje sukursime funkciją su VBA ISNUMERIC ir patikrinkite, ar reikšmės Žymos ir (arba) įvertinimai stulpelis yra skaitmeninis arba neskaitmeninis.

Žingsnis-01 :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Užrašykite ir išsaugokite šį kodą

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

Šis kodas sukurs funkciją, pavadintą IsNumericTest .

Žingsnis-02 :

➤ Grįžkite į pagrindinį lapą ir ląstelėje įveskite šią formulę E5

=IsNumericTest(D5)

D5 yra Žymos ir (arba) įvertinimai mokinio ir IsNumericTest bus grąžinama TRUE/FALSE priklausomai nuo vertės.

➤ Spauda ĮVESKITE ir vilkite žemyn Užpildymo rankena įrankis.

Galiausiai turėsime TRUE skaitinėms vertėms arba Žymos ir FALSE neskaitmeninėms reikšmėms arba Klasės .

Susijęs turinys: Kaip naudoti VBA funkciją DIR programoje "Excel" (7 pavyzdžiai)

9. Neskaitmeninių reikšmių skaičiavimas naudojant VBA funkciją IsNumeric

Norime suskaičiuoti neskaitmenines reikšmes arba laipsnius Žymos ir (arba) įvertinimai stulpelį ir tam čia naudosime VBA ISNUMERIC ir turėti bendrą neskaitmeninių reikšmių, kurias turime Skaičiuokite skiltis.

Žingsnis-01 :

➤ Sekite Žingsnis-01 skirsnio 1 .

➤ Įrašykite ir išsaugokite šį kodą

 Funkcija 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 

Šis kodas sukurs funkciją, pavadintą skaičiuotiskaitmeninis .

Kai ląstelės reikšmė nėra skaitinė, tada skaičiuoti padidės 1 .

Žingsnis-02 :

➤ Grįžkite į pagrindinį lapą ir įveskite šią formulę

=countnonnumeric(D5:D11)

D5:D11 yra diapazonas Žymos ir (arba) įvertinimai studentų ir skaičiuotiskaitmeninis bus grąžintas bendras neskaitmeninių įvertinimų skaičius.

➤ Spauda ĮVESKITE

Galiausiai gausite reikšmę 3 o tai reiškia, kad turite 3 Įvertinimai Žymos ir (arba) įvertinimai skiltis.

Skaityti daugiau: Kaip grąžinti reikšmę VBA funkcija (ir masyvo, ir ne masyvo reikšmes)

IsNumeric vs ISNUMBER

  • ISNUMERIC tikrina, ar reikšmę galima konvertuoti į skaičių ir ISNUMBER tikrina, ar reikšmė saugoma kaip skaičius.
  • Yra tam tikrų skirtumų tarp VBA ISNUMERIC funkcija ir "Excel ISNUMBER funkcija ir toliau bandėme parodyti skirtumus naudodami anksčiau sukurtą IsNumericTest funkcija ir integruotą "Excel ISNUMBER funkcija .

Praktikos skyrius

Norėdami patys atlikti praktiką, pateikėme Praktika skirsnį, kaip nurodyta toliau, lape, pavadintame Praktika . Prašome tai padaryti patiems.

Išvada

Šiame straipsnyje pabandėme aptarti kai kuriuos būdus, kaip naudoti VBA ISNUMERIC funkcija. Tikiuosi, kad ji jums bus naudinga. Jei turite pasiūlymų ar klausimų, nedvejodami pasidalykite jais komentarų skiltyje.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.