Innehållsförteckning
Om du letar efter några av de enklaste sätten att använda VBA IsNumeric funktion, då är du på rätt plats. Vi använder vanligtvis denna funktion i VBA för att testa om ett uttryck är ett tal eller inte och beroende på uttrycket kommer det att ge TRUE om uttrycket är ett tal, annars FALSK .
Ladda ner arbetsboken
VBA IsNumeric Function.xlsmVBA IsNumeric-funktion: Syntax & Argument
⦿ Syntax
IsNumeric (uttryck)
⦿ Argument
Argument | Obligatoriskt/valfritt | Förklaring |
---|---|---|
Uttryck | Krävs | Det är en variant som ska kontrolleras om det är ett nummer eller inte. |
⦿ Returvärde
Ingång | Returvärde |
---|---|
Antal | TRUE |
Inte ett nummer; sträng | FALSK |
⦿ Version
ISNUMERIC-funktion infördes i Excel 2000 och är tillgänglig för alla versioner därefter.
9 exempel på användning av VBA-funktionen IsNumeric
I den här artikeln ska vi försöka visa hur man använder VBA IsNumeric med några slumpmässiga exempel tillsammans med några exempel, inklusive följande tabell.
Vi har använt oss av Microsoft Excel 365 versionen här, men du kan använda andra versioner när det passar dig.
1. Kontrollera VBA IsNumeric med några slumpmässiga värden
Här testar vi några slumpmässiga strängar med VBA ISNUMERIC , om värdena är numeriska eller inte.
Step-01 :
➤ Gå till Utvecklare Fliken>> Visual Basic Alternativ.
Därefter är det Redigerare för Visual Basic kommer att öppnas.
➤ Gå till Infoga Fliken>> Modul Alternativ.
Efter detta kommer en Modul kommer att skapas.
Step-02 :
➤ Skriv följande kod
Sub checkvalue1() Dim x As Variant x = InputBox("Ange valfritt värde") MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra det inmatade värdet. ISNUMERIC kommer att återge TRUE om ingångsvärdet är numeriskt, annars returneras FALSK Vi hittar resultatet i en meddelanderuta ( MsgBox ).
➤ Press F5 .
Då får du följande inmatningsruta och om du skriver värdet 100 och tryck på OK ,
får du en meddelanderuta med följande text "Sant" .
För att skriva strängen Katt och trycker på OK i inmatningsrutan,
Vi får en meddelanderuta med följande text "Falsk" .
Läs mer: Hur du använder VBA-funktionen Randomisera i Excel (5 exempel)
2. Användning av VBA IsNumeric med IF-THEN-ELSE Statement
I det här avsnittet kommer vi att använda ISNUMERIC-funktion med den IF-THEN-ELSE uttalande i en VBA kod för att definiera de numeriska och icke-numeriska värdena.
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue2() Dim x As Variant x = InputBox("Ange valfritt värde") If IsNumeric(x) = True Then MsgBox "Det angivna värdet är numeriskt" Else MsgBox "Det angivna värdet är inte numeriskt" End If End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra det inmatade värdet. När ISNUMERIC kommer att återge TRUE , IF kommer att ge ett meddelande med följande text "Det givna värdet är numeriskt" och om ISNUMERIC returnerar FALSK , då IF returnerar ett meddelande som förklarar "Det givna värdet är inte numeriskt" .
➤ Press F5 .
Då får du följande inmatningsruta och om du skriver värdet 200 och tryck på OK ,
får du en meddelanderuta med följande text "Det givna värdet är numeriskt" .
För att skriva strängen Katt och trycker på OK i inmatningsrutan,
Vi får en meddelanderuta med följande text "Det givna värdet är inte numeriskt" .
Läs mer: VBA If - Then - Else Statement i Excel (4 exempel)
3. Skapa ett motsatt resultat med funktionen IsNumeric
Här kommer vi att skapa en VBA kod som kommer att ge oss det omvända resultatet av ISNUMERIC-funktion , vilket innebär att vi för numeriska värden får FALSK , och för icke-numeriska värden kommer den att återge TRUE .
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue3() Dim x As Variant x = InputBox("Ange valfritt värde") If IsNumeric(x) = True Then MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra det inmatade värdet. När ISNUMERIC kommer att återge TRUE , IF kommer att ge ett meddelande med följande text "FALSK" och om ISNUMERIC returnerar FALSK , då IF returnerar ett meddelande som förklarar "TRUE" .
➤ Press F5 .
Då får du följande inmatningsruta och om du skriver värdet 25 och tryck på OK ,
får du en meddelanderuta med följande text "FALSK" .
För att skriva strängen Alaska och trycker på OK i inmatningsrutan,
Vi får en meddelanderuta med följande text "TRUE" .
Relaterat innehåll: VBA-formatfunktion i Excel (8 användningsområden med exempel)
4. Kontrollera om Blanks är numeriskt eller inte
Du kan enkelt kontrollera detta med en VBA kod om blanksteg är numeriska eller inte.
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue4() Dim x As Variant x = " " " MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra Blank . Sedan ISNUMERIC kommer att återge TRUE om den Blank är numerisk, annars returneras FALSK .
➤ Press F5 .
Därefter får du en meddelanderuta med följande text "Falsk" vilket innebär att blanksteg är inte numeriska. .
Läs mer: Excel-formel för att generera slumpmässiga nummer (5 exempel)
5. Kontrollera om datum är numeriska eller inte
I det här avsnittet använder vi ett slumpmässigt datum och kontrollerar om datumet är numeriskt eller inte.
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den lagrar ett datum. ISNUMERIC kommer att återge TRUE om datumet är numeriskt, annars återges FALSK .
➤ Press F5 .
Därefter får du en meddelanderuta med följande text "Falsk" vilket innebär att datum är inte numeriska .
Vi kan också försöka med DATESERIAL-funktionen för att skapa datum och kontrollera om det är numeriskt eller inte.
➤ Ange följande kod
Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2) MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra ett datum som skapats med hjälp av DATESERIAL-funktionen . Sedan ISNUMERIC kommer att återge TRUE om datumet är numeriskt, annars återges FALSK .
➤ Press F5 .
I gengäld får du en meddelanderuta med följande text "Falsk" även denna gång.
Läs mer: VBA Date-funktion (12 användningsområden för makron med exempel)
Liknande läsning:
- Hur man använder MsgBox-funktionen i Excel VBA (en fullständig vägledning)
- Använd VBA-funktionen Environ (4 exempel)
- Hur man använder VBA och funktion i Excel (4 exempel)
- Använd VBA-fallbeskrivning (13 exempel)
- Hur man använder logfunktionen i Excel VBA (5 lämpliga exempel)
6. Kontrollera om tiden är numerisk eller inte
I det här avsnittet kommer vi att kontrollera om tiderna är numeriska eller inte genom att använda ISNUMERIC-funktion .
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra en tid. ISNUMERIC kommer att återge TRUE om tiden är numerisk, annars återges FALSK .
➤ Press F5 .
Därefter får du en meddelanderuta med följande text "Falsk" vilket innebär att tiderna är inte numeriska .
Du kan också försöka med TIMESERIAL-funktionen för att skapa datum och kontrollera om det är numeriskt eller inte.
➤ Ange följande kod
Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra en tid som skapats med hjälp av TIMESERIAL-funktionen . Sedan ISNUMERIC kommer att återge TRUE om tiden är numerisk, annars återges FALSK .
➤ Press F5 .
Därefter får du en meddelanderuta med följande text "Falsk" även denna gång.
Återigen kan vi prova att referera till ett tidsvärde i en cell i ett ark.
➤ Ange följande kod
Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub
Här har vi deklarerat x som en Variant och den kommer att lagra en tid som ligger i B2 cell. ISNUMERIC kommer att återge TRUE om tiden är numerisk, annars återges FALSK .
➤ Press F5 .
Slutligen får du en meddelanderuta med följande text "Sant" den här gången.
Läs mer: Hur man använder VBA TimeSerial i Excel (3 exempel)
7. Använda VBA IsNumeric för ett intervall av värden
Här kontrollerar vi om värdena för Märken/graderingar kolumnen är numeriska eller icke-numeriska och har resultaten i Kontrollera kolumn.
Steg :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner följande kod
Sub checkvalue7() Dim cell As Range For Each cell In Range("D5:D11") cell.Offset(0, 1) = IsNumeric(cell) Next cell End Sub
Vi har deklarerat cellen som Range och använt en FÖR loop för cellerna i intervallet "D5:D11" och för dessa celler är det ISNUMERIC kommer att återge TRUE om värdet är numeriskt, annars återges FALSK och cell.Offset(0, 1) returnerar utdatavärdena i en kolumn senare till inmatningskolumnen.
➤ Press F5 .
Därefter har vi följande TRUE för de numeriska värdena eller Marker och FALSK för icke-numeriska värden eller Årskurserna .
Läs mer: Hur du använder VBA Val-funktionen i Excel (7 exempel)
8. Skapa en funktion för att testa ett intervall av värden
I det här avsnittet kommer vi att skapa en funktion med VBA ISNUMERIC och kontrollera om värdena för Märken/graderingar kolumnen är numeriska eller icke-numeriska.
Step-01 :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner och spara följande kod
Funktion IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function
Denna kod skapar en funktion som heter IsNumericTest .
Step-02 :
➤ Återgå till huvudbladet och skriv följande formel i cellen E5
=IsNumericTest(D5)
D5 är den Märken/graderingar av en student och IsNumericTest kommer att återge SANT/FALSKT beroende på värdet.
➤ Press ENTER och dra ner den Handtag för fyllning verktyg.
Slutligen har vi TRUE för de numeriska värdena eller Marker och FALSK för icke-numeriska värden eller Årskurserna .
Relaterat innehåll: Hur man använder VBA DIR-funktionen i Excel (7 exempel)
9. Räkna icke-numeriska värden med VBA-funktionen IsNumeric
Vi vill räkna de icke-numeriska värdena eller betygen i Märken/graderingar kolumnen och för att göra det här använder vi VBA ISNUMERIC och har det totala antalet icke-numeriska värden som vi har i Räkna kolumn.
Step-01 :
➤ Följ Step-01 i avsnittet 1 .
➤ Skriv ner och spara följande kod
Funktion 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
Denna kod skapar en funktion som heter countnonnumeric .
När cellvärdet inte är ett numeriskt värde är räkna kommer att ökas med 1 .
Step-02 :
➤ Återgå till huvudbladet och skriv följande formel
=räkningnonnumerisk(D5:D11)
D5:D11 är räckvidden för Märken/graderingar av studenterna och countnonnumeric ger det totala antalet icke-numeriska betyg.
➤ Press ENTER
Slutligen får du värdet 3 vilket innebär att du har 3 Betyg i den Märken/graderingar kolumn.
Läs mer: Hur man returnerar ett värde i en VBA-funktion (både array- och icke-arrayvärden)
IsNumeric vs ISNUMBER
- ISNUMERIC kontrollerar om ett värde kan omvandlas till ett tal och ISNUMMER kontrollerar om ett värde är lagrat som ett tal.
- Det finns vissa skillnader mellan VBA ISNUMERIC-funktionen och Excel ISNUMBER-funktionen och vi har försökt visa skillnaderna nedan genom att använda vår tidigare skapade IsNumericTest-funktionen och den inbyggda Excel ISNUMBER-funktionen .
Övningssektionen
För att du ska kunna öva på egen hand har vi tillhandahållit en Praktik som nedan i ett ark som heter Praktik . Gör det själv.
Slutsats
I den här artikeln har vi försökt täcka några av de sätt på vilka du kan använda VBA ISNUMERIC Om du har några förslag eller frågor får du gärna dela med dig av dem i kommentarsfältet.