Tartalomjegyzék
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.xlsmVBA 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.