Jak používat funkci IsNumeric ve VBA (9 příkladů)

  • Sdílet Toto
Hugh West

Pokud hledáte některé z nejjednodušších způsobů, jak používat VBA IsNumeric pak jste na správném místě. Tuto funkci obvykle používáme v položce VBA testovat, zda je výraz číslo, nebo ne, a v závislosti na výrazu vrátí. TRUE pokud je výraz číslo, jinak FALSE .

Stáhnout pracovní sešit

Funkce VBA IsNumeric.xlsm

Funkce VBA IsNumeric: Syntaxe & Argumenty

⦿ Syntaxe

IsNumeric (Výraz)

⦿ Argumenty

Argument Povinné/volitelné Vysvětlení
Výraz Požadované Jedná se o variantu, u které je třeba zkontrolovat, zda se jedná o číslo, nebo ne.

⦿ Návratová hodnota

Vstup Návratová hodnota
Číslo TRUE
Není číslo; řetězec FALSE

⦿ Verze

Na stránkách Funkce ISNUMERIC byl zaveden v Excel 2000 a je k dispozici pro všechny následující verze.

9 příkladů použití funkce IsNumeric ve VBA

V tomto článku se pokusíme ukázat použití systému VBA IsNumeric s několika náhodnými příklady spolu s několika příklady včetně následující tabulky.

Použili jsme Microsoft Excel 365 zde, můžete použít jakoukoli jinou verzi podle toho, jak vám to vyhovuje.

1. Kontrola VBA IsNumeric s některými náhodnými hodnotami

Zde si vyzkoušíme několik náhodných řetězců pomocí příkazu VBA ISNUMERIC , pokud jsou hodnoty číselné nebo ne.

Krok-01 :

➤ Přejít na Vývojář Karta>> Visual Basic Možnost.

Poté se Editor jazyka Visual Basic se otevře.

➤ Přejít na Vložte Karta>> Modul Možnost.

Poté se Modul bude vytvořen.

Krok-02 :

➤ Napište následující kód

 Sub checkvalue1() Dim x As Variant x = InputBox("Zadejte libovolnou hodnotu") MsgBox IsNumeric(x) End Sub 

Zde jsme prohlásili. x jako Varianta a uloží vstupní hodnotu. ISNUMERIC vrátí TRUE pokud je vstupní hodnota číselná, jinak vrátí hodnotu FALSE . Výstup nalezneme v okně pro zprávy ( MsgBox ).

➤ Tisk F5 .

Pak se zobrazí následující vstupní pole a pokud zapíšete hodnotu 100 a stiskněte OK ,

zobrazí se okno se zprávou "True" .

Pro zápis řetězce Kočka a stisknutím OK v zadávacím poli,

Zobrazuje se okno se zprávou "False" .

Další informace: Jak používat funkci VBA Randomize v aplikaci Excel (5 příkladů)

2. Použití příkazu VBA IsNumeric s příkazem IF-THEN-ELSE

V této části budeme používat Funkce ISNUMERIC s IF-THEN-ELSE příkaz v VBA kód pro definici číselných a nečíselných hodnot.

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

 Sub checkvalue2() Dim x As Variant x = InputBox("Zadejte libovolnou hodnotu") If IsNumeric(x) = True Then MsgBox "Zadaná hodnota je číselná" Else MsgBox "Zadaná hodnota není číselná" End If End Sub 

Zde jsme prohlásili. x jako Varianta a uloží vstupní hodnotu. ISNUMERIC vrátí TRUE , IF vrátí zprávu s textem "Zadaná hodnota je číselná" a pokud ISNUMERIC vrací FALSE , pak IF vrátí zprávu s vysvětlením "Zadaná hodnota není číselná" .

➤ Tisk F5 .

Pak se zobrazí následující vstupní pole a pokud zapíšete hodnotu 200 a stiskněte OK ,

zobrazí se okno se zprávou "Zadaná hodnota je číselná" .

Pro zápis řetězce Kočka a stisknutím OK v zadávacím poli,

Zobrazuje se okno se zprávou "Zadaná hodnota není číselná" .

Přečtěte si více: Příkazy VBA If - Then - Else v aplikaci Excel (4 příklady)

3. Vytvoření opačného výsledku pomocí funkce IsNumeric

Zde vytvoříme VBA kód, který nám poskytne opačný výsledek než kód Funkce ISNUMERIC , což znamená, že pro číselné hodnoty dostaneme FALSE a pro nečíselné hodnoty vrátí hodnotu TRUE .

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

 Sub checkvalue3() Dim x As Variant x = InputBox("Zadejte libovolnou hodnotu") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Zde jsme prohlásili. x jako Varianta a uloží vstupní hodnotu. ISNUMERIC vrátí TRUE , IF vrátí zprávu s textem "FALSE" a pokud ISNUMERIC vrací FALSE , pak IF vrátí zprávu s vysvětlením "TRUE" .

➤ Tisk F5 .

Pak se zobrazí následující vstupní pole a pokud zapíšete hodnotu 25 a stiskněte OK ,

zobrazí se okno se zprávou "FALSE" .

Pro zápis řetězce Aljaška a stisknutím OK v zadávacím poli,

Zobrazuje se okno se zprávou "TRUE" .

Související obsah: Formátovací funkce VBA v aplikaci Excel (8 použití s příklady)

4. Zjišťování, zda jsou prázdná místa číselná, nebo ne

Můžete to snadno zkontrolovat pomocí VBA kód, zda jsou prázdná místa číselná nebo ne.

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží Prázdné stránky ... ISNUMERIC vrátí TRUE pokud Prázdné stránky je číselný, jinak se vrátí FALSE .

➤ Tisk F5 .

Poté se zobrazí okno se zprávou. "False" což znamená. prázdná místa nejsou číselná .

Přečtěte si více: Vzorec aplikace Excel pro generování náhodného čísla (5 příkladů)

5. Kontrola, zda jsou data číselná nebo ne

V této části použijeme náhodné datum a zkontrolujeme, zda je datum číselné, nebo ne.

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží datum. ISNUMERIC vrátí TRUE pokud je datum číselné, jinak se vrátí hodnota FALSE .

➤ Tisk F5 .

Poté se zobrazí okno se zprávou. "False" což znamená. data nejsou číselná .

Můžeme také zkusit s Funkce DATESERIAL vytvořit data a zkontrolovat, zda jsou číselná, nebo ne.

➤ Zadejte následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží datum vytvořené pomocí Funkce DATESERIAL ... ISNUMERIC vrátí TRUE pokud je datum číselné, jinak se vrátí hodnota FALSE .

➤ Tisk F5 .

Na oplátku se zobrazí okno se zprávou. "False" i tentokrát.

Přečtěte si více: Funkce VBA Date (12 použití maker s příklady)

Podobné čtení:

  • Jak používat funkci MsgBox v aplikaci Excel VBA (kompletní návod)
  • Použití funkce VBA Environ (4 příklady)
  • Jak používat VBA a funkce v aplikaci Excel (4 příklady)
  • Použití příkazu případu VBA (13 příkladů)
  • Jak používat funkci Log v Excelu VBA (5 vhodných příkladů)

6. Kontrola, zda je čas číselný, nebo ne

V této části zjistíme, zda jsou časy číselné, nebo ne, pomocí příkazu Funkce ISNUMERIC .

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží čas. Pak ISNUMERIC vrátí TRUE pokud je čas číselný, jinak se vrátí hodnota FALSE .

➤ Tisk F5 .

Poté se zobrazí okno se zprávou. "False" což znamená. časy nejsou číselné .

Můžete také vyzkoušet Funkce TIMESERIAL vytvořit data a zkontrolovat, zda jsou číselná, nebo ne.

➤ Zadejte následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží čas vytvořený pomocí Funkce TIMESERIAL ... ISNUMERIC vrátí TRUE pokud je čas číselný, jinak se vrátí hodnota FALSE .

➤ Tisk F5 .

Poté se zobrazí okno se zprávou "False" i tentokrát.

Opět si můžeme vyzkoušet odkazování na časovou hodnotu v buňce listu.

➤ Zadejte následující kód

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

Zde jsme prohlásili. x jako Varianta a uloží čas, který se nachází v oblasti B2 buňka. Pak ISNUMERIC vrátí TRUE pokud je čas číselný, jinak se vrátí hodnota FALSE .

➤ Tisk F5 .

Nakonec se zobrazí okno se zprávou "True" tentokrát.

Přečtěte si více: Jak používat VBA TimeSerial v aplikaci Excel (3 příklady)

7. Použití VBA IsNumeric pro rozsah hodnot

Zde zkontrolujeme, zda hodnoty parametrů Známky/stupně jsou číselné nebo nečíselné a jejich výsledky jsou ve sloupci Podívejte se na stránky . sloupec.

Kroky :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište následující kód

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

Buňku jsme deklarovali jako Range a použili jsme a PRO smyčka pro buňky rozsahu "D5:D11" a pro tyto buňky ISNUMERIC vrátí TRUE pokud je hodnota číselná, v opačném případě vrátí hodnotu FALSE a cell.Offset(0, 1) vrátí výstupní hodnoty v jednom sloupci později do vstupního sloupce.

➤ Tisk F5 .

Poté budeme mít TRUE pro číselné hodnoty nebo Marks a FALSE pro nečíselné hodnoty nebo Třídy .

Přečtěte si více: Jak používat funkci VBA Val v aplikaci Excel (7 příkladů)

8. Vytvoření funkce pro testování rozsahu hodnot

V této části vytvoříme funkci s příznakem VBA ISNUMERIC a zkontrolujte, zda hodnoty Známky/stupně sloupce jsou číselné nebo nečíselné.

Krok-01 :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište a uložte následující kód

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

Tento kód vytvoří funkci s názvem IsNumericTest .

Krok-02 :

➤ Vraťte se na hlavní list a do buňky zadejte následující vzorec E5

=IsNumericTest(D5)

D5 je Známky/stupně studenta a IsNumericTest vrátí PRAVDA/NEPRAVDA v závislosti na hodnotě.

➤ Tisk ENTER a přetáhněte dolů Plnicí rukojeť nástroj.

Nakonec budeme mít TRUE pro číselné hodnoty nebo Marks a FALSE pro nečíselné hodnoty nebo Třídy .

Související obsah: Jak používat funkci VBA DIR v aplikaci Excel (7 příkladů)

9. Počítání nečíselných hodnot pomocí funkce VBA IsNumeric

Chceme počítat nečíselné hodnoty nebo stupně z Známky/stupně a k tomu zde použijeme sloupec VBA ISNUMERIC a mít celkový počet nečíselných hodnot, které máme v položce Hrabě sloupec.

Krok-01 :

➤ Sledovat Krok-01 oddílu 1 .

➤ Zapište a uložte následující kód

 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 

Tento kód vytvoří funkci s názvem početčíselný .

Pokud hodnota buňky nebude číselná, pak se počítat se zvýší o 1 .

Krok-02 :

➤ Vraťte se na hlavní list a zadejte následující vzorec

=countnonnumeric(D5:D11)

D5:D11 je rozsah Známky/stupně studentů a početčíselný vrátí celkový počet nečíselných známek.

➤ Tisk ENTER

Nakonec získáte hodnotu 3 což znamená, že máte 3 Známky v Známky/stupně sloupec.

Přečtěte si více: Jak vrátit hodnotu ve funkci VBA (pole i jiné hodnoty)

IsNumeric vs ISNUMBER

  • ISNUMERIC zkontroluje, zda lze hodnotu převést na číslo a ISNUMBER kontroluje, zda je hodnota uložena jako číslo.
  • Existují určité rozdíly mezi Funkce VBA ISNUMERIC a aplikace Excel Funkce ISNUMBER a my jsme se pokusili ukázat rozdíly níže pomocí našeho dříve vytvořeného Funkce IsNumericTest a vestavěný program Excel Funkce ISNUMBER .

Praktická část

Pro samostatné cvičení jsme připravili Cvičení sekce jako níže v listu s názvem Cvičení . Udělejte to prosím sami.

Závěr

V tomto článku jsme se snažili popsat některé způsoby, jak používat VBA ISNUMERIC Doufám, že pro vás bude užitečná. Pokud máte nějaké návrhy nebo dotazy, neváhejte se o ně podělit v sekci komentářů.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.