A VBA IsNumeric funkció használata (9 példa)

  • Ossza Meg Ezt
Hugh West

Ha a legegyszerűbb módját keresi a VBA IsNumeric függvényt, akkor jó helyen jársz. Általában ezt a függvényt használjuk a VBA hogy tesztelje, hogy egy kifejezés szám-e vagy sem, és a kifejezéstől függően a következő értéket adja vissza TRUE ha a kifejezés egy szám, különben HAMIS .

Munkafüzet letöltése

VBA IsNumeric függvény.xlsm

VBA IsNumeric függvény: Szintaxis & Érvek

⦿ Szintaxis

IsNumeric (Kifejezés)

⦿ Érvek

Érv Kötelező/választható Magyarázat
Kifejezés Kötelező Ez egy olyan változat, amelyről ellenőrizni kell, hogy szám-e vagy sem.

⦿ Visszatérési érték

Bemenet Visszatérési érték
Szám TRUE
Nem szám; String HAMIS

⦿ Verzió

A ISNUMERIC funkció bevezetésre került a Excel 2000 verzióban, és az azt követő verziókban is elérhető.

9 példa a VBA IsNumeric függvény használatára

Ebben a cikkben megpróbáljuk bemutatni, hogyan lehet a VBA IsNumeric néhány véletlenszerű példával és néhány példával, beleértve az alábbi táblázatot.

Használtuk Microsoft Excel 365 változatot itt, bármely más változatot is használhatsz, ha az neked megfelel.

1. A VBA IsNumeric ellenőrzése néhány véletlenszerű értékkel

Itt néhány véletlenszerű karakterláncot fogunk tesztelni a VBA ISNUMERIC , hogy az értékek numerikusak-e vagy sem.

Step-01 :

➤ Go to Fejlesztő Tab>> Visual Basic Opció.

Ezután a Visual Basic szerkesztő megnyílik.

➤ Go to Beillesztés Tab>> Modul Opció.

Ezután egy Modul létrejön.

Step-02 :

➤ Írja a következő kódot

 Sub checkvalue1() Dim x As Variant x = InputBox("Adj meg bármilyen értéket") MsgBox IsNumeric(x) End Sub 

Itt kijelentettük, hogy x mint Változat és tárolja a bemeneti értéket. ISNUMERIC vissza fog térni TRUE ha a bemeneti érték numerikus, különben a következő értéket adja vissza HAMIS A kimenetet egy üzenőmezőben találjuk ( MsgBox ).

➤ Sajtó F5 .

Ekkor a következő beviteli mezőt kapja, és ha beírja az értéket 100 és nyomja meg a OK ,

a következő üzenőablak jelenik meg "Igaz" .

A karakterlánc írásához Cat és nyomja meg OK a beviteli mezőben,

Kapunk egy üzenőmezőt, amely azt mondja "False" .

További információ: A VBA Randomize funkció használata az Excelben (5 példa)

2. A VBA IsNumeric használata IF-THEN-ELSE utasítással

Ebben a szakaszban a ISNUMERIC funkció a IF-THEN-ELSE utasítás egy VBA kód a numerikus és nem numerikus értékek meghatározásához.

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

 Sub checkvalue2() Dim x As Variant x = InputBox("Adj meg bármilyen értéket") If IsNumeric(x) = True Then MsgBox "Az adott érték numerikus" Else MsgBox "Az adott érték nem numerikus" End If End Sub 

Itt kijelentettük, hogy x mint Változat és tárolja a bemeneti értéket. ISNUMERIC vissza fog térni TRUE , IF a következő üzenetet küldi vissza "Az adott érték numerikus" és ha ISNUMERIC visszatér HAMIS , akkor IF egy üzenetet ad vissza, amely elmagyarázza "Az adott érték nem numerikus" .

➤ Sajtó F5 .

Ekkor a következő beviteli mezőt kapja, és ha beírja az értéket 200 és nyomja meg a OK ,

a következő üzenőablak jelenik meg "Az adott érték numerikus" .

A karakterlánc írásához Cat és nyomja meg OK a beviteli mezőben,

Kapunk egy üzenőmezőt, amely azt mondja "Az adott érték nem numerikus" .

Bővebben: VBA If - Then - Else nyilatkozat az Excelben (4 példa)

3. Ellentétes eredmény létrehozása az IsNumeric függvénnyel

Itt létrehozunk egy VBA kódot, amely a fordított eredményt adja a ISNUMERIC funkció , ami azt jelenti, hogy numerikus értékek esetén a következőt kapjuk HAMIS , nem számszerű értékek esetén pedig a következő értékeket adja vissza TRUE .

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

 Sub checkvalue3() Dim x As Variant x = InputBox("Adj meg bármilyen értéket") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Itt kijelentettük, hogy x mint Változat és tárolja a bemeneti értéket. ISNUMERIC vissza fog térni TRUE , IF a következő üzenetet küldi vissza "FALSE" és ha ISNUMERIC visszatér HAMIS , akkor IF egy üzenetet ad vissza, amely elmagyarázza "TRUE" .

➤ Sajtó F5 .

Ekkor a következő beviteli mezőt kapja, és ha beírja az értéket 25 és nyomja meg a OK ,

a következő üzenőablak jelenik meg "FALSE" .

A karakterlánc írásához Alaszka és nyomja meg OK a beviteli mezőben,

Kapunk egy üzenőmezőt, amely azt mondja "TRUE" .

Kapcsolódó tartalom: VBA formátum funkció az Excelben (8 felhasználás példákkal)

4. Annak ellenőrzése, hogy az üres számok numerikusak-e vagy sem

Könnyen ellenőrizheti egy VBA kód, hogy az üres részek numerikusak-e vagy sem.

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

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

Itt kijelentettük, hogy x mint Változat és tárolja a Üres . ISNUMERIC vissza fog térni TRUE ha a Üres numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Ezután megjelenik egy üzenőmező, amely a következőt mondja "False" ami azt jelenti. az üres részek nem numerikusak .

Bővebben: Excel képlet a véletlen szám generálásához (5 példa)

5. Annak ellenőrzése, hogy a dátumok numerikusak-e vagy sem

Ebben a szakaszban egy véletlenszerű dátumot fogunk használni, és ellenőrizzük, hogy a dátum numerikus-e vagy sem.

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

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

Itt kijelentettük, hogy x mint Változat és tárolni fog egy dátumot. ISNUMERIC vissza fog térni TRUE ha a dátum numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Ezután megjelenik egy üzenőmező, amely a következőt mondja "False" ami azt jelenti. a dátumok nem numerikusak .

Megpróbálhatjuk a DATESERIAL funkció hogy dátumokat hozzon létre, és ellenőrizze, hogy numerikus-e vagy sem.

➤ Írja be a következő kódot

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

Itt kijelentettük, hogy x mint Változat és tárolni fogja a dátumot, amelyet a DATESERIAL funkció . ISNUMERIC vissza fog térni TRUE ha a dátum numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Cserébe egy üzenőmezőt kapsz, amiben a következőt olvashatod "False" ezúttal is.

Bővebben: VBA Date Function (12 Makrók használata példákkal)

Hasonló olvasmányok:

  • Hogyan használjuk az MsgBox funkciót az Excel VBA-ban (Teljes útmutató)
  • A VBA Environ funkció használata (4 példa)
  • A VBA és a funkció használata az Excelben (4 példa)
  • VBA esetmegoldás használata (13 példa)
  • Hogyan használjuk a Log funkciót az Excel VBA-ban (5 megfelelő példa)

6. Annak ellenőrzése, hogy az idő numerikus-e vagy sem

Ebben a szakaszban azt fogjuk ellenőrizni, hogy az idők numerikusak-e vagy sem, a ISNUMERIC funkció .

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

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

Itt kijelentettük, hogy x mint Változat és tárolni fog egy időpontot. ISNUMERIC vissza fog térni TRUE ha az idő numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Ezután megjelenik egy üzenőmező, amely a következőt mondja "False" ami azt jelenti. az idők nem numerikusak .

Megpróbálhatja a TIMESERIAL funkció hogy dátumokat hozzon létre, és ellenőrizze, hogy numerikus-e vagy sem.

➤ Írja be a következő kódot

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

Itt kijelentettük, hogy x mint Változat és tárolni fogja az időt, amelyet a TIMESERIAL funkció . ISNUMERIC vissza fog térni TRUE ha az idő numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Ezután megjelenik egy üzenőmező, amely a következőt mondja "False" ezúttal is.

Ismét kipróbálhatjuk a lap egy cellájában lévő időértékre való hivatkozást.

➤ Írja be a következő kódot

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

Itt kijelentettük, hogy x mint Változat és olyan időpontot tárol, amely a B2 cellát. ISNUMERIC vissza fog térni TRUE ha az idő numerikus, különben a következő értéket adja vissza HAMIS .

➤ Sajtó F5 .

Végül megjelenik egy üzenőmező, amely a következőt mondja "Igaz" ezúttal.

Bővebben: A VBA TimeSerial használata az Excelben (3 példa)

7. A VBA IsNumeric használata egy értéktartományhoz

Itt azt fogjuk ellenőrizni, hogy az értékek a Jegyek/Besorolások oszlop numerikus vagy nem numerikus, és az eredmények a Ellenőrizze a címet. oszlop.

Lépések :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le a következő kódot

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

A cellát Range-ként deklaráltuk, és egy FOR ciklus a tartomány celláira "D5:D11" és ezeknél a sejteknél a ISNUMERIC vissza fog térni TRUE ha az érték numerikus, egyébként a következő értéket adja vissza HAMIS és cell.Offset(0, 1) a kimeneti értékeket egy oszlopban később visszaadja a bemeneti oszlopnak.

➤ Sajtó F5 .

Ezt követően TRUE a numerikus értékeknél vagy Márkok és HAMIS nem számszerű értékek esetén vagy Fokozatok .

Bővebben: A VBA Val funkció használata az Excelben (7 példa)

8. Egy függvény létrehozása egy értéktartomány tesztelésére

Ebben a szakaszban létrehozunk egy függvényt a VBA ISNUMERIC és ellenőrizze, hogy a Jegyek/Besorolások oszlop numerikus vagy nem numerikus.

Step-01 :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le és mentse a következő kódot

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

Ez a kód létrehoz egy függvényt, melynek neve IsNumericTest .

Step-02 :

➤ Térjen vissza a fő lapra, és írja be a következő képletet a cellába E5

=IsNumericTest(D5)

D5 a Jegyek/Besorolások egy diák és IsNumericTest vissza fog térni TRUE/FALSE az értéktől függően.

➤ Sajtó BELÉPÉS és húzza lefelé a Töltse ki a fogantyút eszköz.

Végül, lesz TRUE a numerikus értékeknél vagy Márkok és HAMIS nem számszerű értékek esetén vagy Fokozatok .

Kapcsolódó tartalom: A VBA DIR funkció használata az Excelben (7 példa)

9. Nem numerikus értékek számolása a VBA IsNumeric függvénnyel

A nem numerikus értékeket vagy osztályzatokat szeretnénk megszámolni a Jegyek/Besorolások oszlopot, és ehhez itt a VBA ISNUMERIC és a nem számjegyű értékek teljes száma, amelyekkel a Count oszlop.

Step-01 :

➤ Follow Step-01 a szakasz 1 .

➤ Írja le és mentse a következő kódot

 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 

Ez a kód létrehoz egy függvényt, melynek neve countnonnumeric .

Ha a cella értéke nem numerikus érték lesz, akkor a Számolj növelni fogjuk 1 .

Step-02 :

➤ Térjünk vissza a fő lapra, és írjuk be a következő képletet

=countnonnumeric(D5:D11)

D5:D11 az a tartomány, amelyben a Jegyek/Besorolások a diákok és countnonnumeric a nem numerikus osztályzatok teljes számát adja vissza.

➤ Sajtó BELÉPÉS

Végül megkapja az alábbi értéket 3 ami azt jelenti, hogy 3 Fokozatok a Jegyek/Besorolások oszlop.

Bővebben: Hogyan adjunk vissza egy értéket a VBA-funkcióban (mind a tömbi, mind a nem tömbi értékek)?

IsNumeric vs ISNUMBER

  • ISNUMERIC ellenőrzi, hogy egy érték számmá alakítható-e és ISNUMBER ellenőrzi, hogy egy érték számként van-e tárolva.
  • Vannak különbségek a VBA ISNUMERIC függvény és az Excel ISNUMBER funkció és az alábbiakban megpróbáltuk bemutatni a különbségeket a korábban létrehozott IsNumericTest funkció és a beépített Excel ISNUMBER funkció .

Gyakorlati szekció

A saját magad általi gyakorláshoz biztosítottunk egy Gyakorlat szakasz az alábbi módon egy lapon, amelynek neve Gyakorlat Kérem, tegye meg egyedül.

Következtetés

Ebben a cikkben megpróbáltunk foglalkozni néhány olyan módszerrel, amelyekkel a VBA ISNUMERIC funkciót. Remélem, hasznosnak találja. Ha bármilyen javaslata vagy kérdése van, nyugodtan ossza meg a megjegyzés rovatban.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.