Indholdsfortegnelse
Hvis du er på udkig efter nogle af de nemmeste måder at bruge VBA IsNumeric funktion, så er du kommet til det rette sted. Vi bruger normalt denne funktion i VBA til at teste, om et udtryk er et tal eller ej, og afhængigt af udtrykket returnerer den TRUE hvis udtrykket er et tal ellers FALSK .
Download arbejdsbog
VBA IsNumeric Function.xlsmVBA IsNumeric-funktion: Syntaks & Argumenter
⦿ Syntaks
IsNumeric (Udtryk)
⦿ Argumenter
Argument | Krævet/valgfrit | Forklaring |
---|---|---|
Udtryk | Påkrævet | Det er en variant, som skal kontrolleres, om det er et tal eller ej. |
⦿ Returneringsværdi
Input | Returneringsværdi |
---|---|
Nummer | TRUE |
Ikke et tal; String | FALSK |
⦿ Version
ISNUMERIC-funktion blev indført i Excel 2000 version og er tilgængelig for alle efterfølgende versioner.
9 eksempler på brug af VBA IsNumeric-funktionen
I denne artikel vil vi forsøge at demonstrere brugen af VBA IsNumeric med nogle tilfældige eksempler sammen med nogle eksempler, herunder følgende tabel.
Vi har brugt Microsoft Excel 365 version her, men du kan bruge andre versioner, hvis det passer dig.
1. Kontrol af VBA IsNumeric med nogle tilfældige værdier
Her vil vi afprøve nogle tilfældige strenge med VBA ISNUMERIC , om værdierne er numeriske eller ej.
Step-01 :
➤ Gå til Udvikler Fane>> Visual Basic Mulighed.
Derefter er det Visual Basic-editor vil åbne sig.
➤ Gå til Indsæt Fane>> Modul Mulighed.
Herefter skal en Modul vil blive oprettet.
Step-02 :
➤ Skriv følgende kode
Sub checkvalue1() Dim x As Variant x = InputBox("Angiv en vilkårlig værdi") MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den gemmer den indtastede værdi. Derefter ISNUMERIC vil returnere TRUE hvis inputværdien er numerisk, ellers returneres FALSK Vi finder resultatet i en beskedboks ( MsgBox ).
➤ Tryk på F5 .
Så får du følgende indtastningsfelt, og hvis du skriver værdien 100 og tryk på OK ,
får du en beskedboks, hvor der står "True" .
Til skrivning af strengen Kat og ved at trykke på OK i indtastningsfeltet,
Vi får en beskedboks med følgende tekst "Falsk" .
Læs mere: Sådan bruger du VBA Randomize-funktionen i Excel (5 eksempler)
2. Brug af VBA IsNumeric med IF-THEN-ELSE-erklæring
I dette afsnit vil vi bruge ISNUMERIC-funktion med den IF-THEN-ELSE erklæring i en VBA kode til at definere de numeriske og ikke-numeriske værdier.
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
Sub checkvalue2() Dim x As Variant x = InputBox("Angiv en vilkårlig værdi") If IsNumeric(x) = True Then MsgBox "Den givne værdi er numerisk" Else MsgBox "Den givne værdi er ikke numerisk" End If End Sub
Her har vi erklæret x som en Variant og den gemmer den indtastede værdi. Når ISNUMERIC vil returnere TRUE , IF vil returnere en meddelelse med følgende ordlyd "Den givne værdi er numerisk" og hvis ISNUMERIC returnerer FALSK , så IF returnerer en meddelelse, der forklarer "Den angivne værdi er ikke numerisk" .
➤ Tryk på F5 .
Så får du følgende indtastningsfelt, og hvis du skriver værdien 200 og tryk på OK ,
får du en beskedboks, hvor der står "Den givne værdi er numerisk" .
Til skrivning af strengen Kat og ved at trykke på OK i indtastningsfeltet,
Vi får en beskedboks med følgende tekst "Den angivne værdi er ikke numerisk" .
Læs mere: VBA If - Then - Else-erklæring i Excel (4 eksempler)
3. Oprettelse af et modsat resultat med IsNumeric-funktionen
Her vil vi oprette en VBA kode, der vil give os det omvendte resultat af ISNUMERIC-funktion , hvilket betyder, at vi for numeriske værdier får FALSK , og for ikke-numeriske værdier returnerer den TRUE .
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
Sub checkvalue3() Dim x As Variant x = InputBox("Angiv en vilkårlig værdi") If IsNumeric(x) = True Then MsgBox ("FALSK") Else MsgBox ("SANDT") End If End Sub
Her har vi erklæret x som en Variant og den gemmer den indtastede værdi. Når ISNUMERIC vil returnere TRUE , IF vil returnere en meddelelse med følgende ordlyd "FALSK" og hvis ISNUMERIC returnerer FALSK , så IF returnerer en meddelelse, der forklarer "SANDT" .
➤ Tryk på F5 .
Så får du følgende indtastningsfelt, og hvis du skriver værdien 25 og tryk på OK ,
får du en beskedboks, hvor der står "FALSK" .
Til skrivning af strengen Alaska og ved at trykke på OK i indtastningsfeltet,
Vi får en beskedboks med følgende tekst "SANDT" .
Relateret indhold: VBA-formatfunktion i Excel (8 anvendelser med eksempler)
4. Kontrol af, om tomme felter er numeriske eller ej
Du kan nemt kontrollere det med en VBA kode, om tomme felter er numeriske eller ej.
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
Sub checkvalue4() Dim x As Variant x = " " " MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den vil gemme Blank . Derefter ISNUMERIC vil returnere TRUE hvis den Blank er numerisk, ellers returnerer den FALSK .
➤ Tryk på F5 .
Herefter får du en beskedboks med følgende tekst "Falsk" hvilket betyder tomme felter er ikke numeriske .
Læs mere: Excel-formel til at generere tilfældige tal (5 eksempler)
5. Kontrol af, om datoer er numeriske eller ej
I dette afsnit vil vi bruge en tilfældig dato og kontrollere, om datoen er numerisk eller ej.
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
Sub checkvalue5() Dim x As Variant x = "02/02/2022 " MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den vil gemme en dato. Derefter ISNUMERIC vil returnere TRUE hvis datoen er numerisk, ellers returneres FALSK .
➤ Tryk på F5 .
Herefter får du en beskedboks med følgende tekst "Falsk" hvilket betyder datoer er ikke numeriske .
Vi kan også prøve med den DATESERIAL-funktion til at oprette datoer og kontrollere, om det er numerisk eller ej.
➤ Indtast følgende kode
Sub checkvalue5a() Dim x As Variant x = DateSerial(2022, 2, 2, 2) MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den gemmer en dato, der er oprettet af DATESERIAL-funktion . Derefter ISNUMERIC vil returnere TRUE hvis datoen er numerisk, ellers returneres FALSK .
➤ Tryk på F5 .
Til gengæld får du en beskedboks med følgende tekst "Falsk" også denne gang.
Læs mere: VBA-datafunktion (12 anvendelser af makroer med eksempler)
Lignende læsninger:
- Sådan bruger du MsgBox-funktionen i Excel VBA (en komplet vejledning)
- Brug VBA Environ-funktionen (4 eksempler)
- Sådan bruger du VBA og funktion i Excel (4 eksempler)
- Brug VBA Case Statement (13 eksempler)
- Sådan bruges logfunktion i Excel VBA (5 passende eksempler)
6. Kontrol af, om tiden er numerisk eller ej
I dette afsnit vil vi kontrollere, om tiderne er numeriske eller ej, ved at bruge ISNUMERIC-funktion .
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
Sub checkvalue6() Dim x As Variant x = "09:30:00 AM" MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den gemmer et tidspunkt. Derefter ISNUMERIC vil returnere TRUE hvis tiden er numerisk, ellers returneres FALSK .
➤ Tryk på F5 .
Derefter får du en beskedboks med følgende tekst "Falsk" hvilket betyder tidspunkter er ikke numeriske .
Du kan også prøve med TIMESERIAL-funktion til at oprette datoer og kontrollere, om det er numerisk eller ej.
➤ Indtast følgende kode
Sub checkvalue6a() Dim x As Variant x = TimeSerial(9, 30, 0) MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den gemmer et tidspunkt, der er oprettet af TIMESERIAL-funktion . Derefter ISNUMERIC vil returnere TRUE hvis tiden er numerisk, ellers returneres FALSK .
➤ Tryk på F5 .
Derefter får du en beskedboks med følgende tekst "Falsk" også denne gang.
Igen kan vi prøve at referere til en tidsværdi i en celle i et ark.
➤ Indtast følgende kode
Sub checkvalue6b() Dim x As Variant x = range("B2").value MsgBox IsNumeric(x) End Sub
Her har vi erklæret x som en Variant og den gemmer et tidspunkt, der er i B2 celle. Så ISNUMERIC vil returnere TRUE hvis tiden er numerisk, ellers returneres FALSK .
➤ Tryk på F5 .
Til sidst får du en beskedboks, hvor der står "True" denne gang.
Læs mere: Sådan bruges VBA TimeSerial i Excel (3 eksempler)
7. Brug af VBA IsNumeric til et interval af værdier
Her kontrolleres det, om værdierne for Mærker/karakterer kolonne er numeriske eller ikke-numeriske og har resultaterne i Tjek kolonne.
Trin :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv følgende kode ned
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 erklæret cellen som Range og brugt en TIL loop for cellerne i intervallet "D5:D11" og for disse celler er den ISNUMERIC vil returnere TRUE hvis værdien er numerisk, ellers returneres FALSK og cell.Offset(0, 1) returnerer outputværdierne i en kolonne senere til inputkolonnen.
➤ Tryk på F5 .
Herefter vil vi have TRUE for de numeriske værdier eller Marks og FALSK for ikke-numeriske værdier eller Klasserne .
Læs mere: Sådan bruger du VBA Val-funktionen i Excel (7 eksempler)
8. Oprettelse af en funktion til at teste et interval af værdier
I dette afsnit vil vi oprette en funktion med VBA ISNUMERIC og kontrollere, om værdierne i Mærker/karakterer kolonne er numerisk eller ikke-numerisk.
Step-01 :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv ned og gem følgende kode og gem den
Function IsNumericTest(value As Variant) As Boolean If IsNumeric(value) Then IsNumericTest = True Else IsNumericTest = False End If End Function End Function
Denne kode vil oprette en funktion ved navn IsNumericTest .
Step-02 :
➤ Vend tilbage til hovedarket, og skriv følgende formel i cellen E5
=IsNumericTest(D5)
D5 er den Mærker/karakterer af en studerende og IsNumericTest vil returnere SAND/FALSK afhængigt af værdien.
➤ Tryk på INDTAST og træk ned i Håndtag til påfyldning værktøj.
Endelig vil vi have TRUE for de numeriske værdier eller Marks og FALSK for ikke-numeriske værdier eller Klasserne .
Relateret indhold: Sådan bruger du VBA DIR-funktionen i Excel (7 eksempler)
9. Optælling af ikke-numeriske værdier med VBA IsNumeric-funktionen
Vi ønsker at tælle de ikke-numeriske værdier eller karakterer i Mærker/karakterer kolonne, og for at gøre dette her vil vi bruge VBA ISNUMERIC og har det samlede antal ikke-numeriske værdier, som vi har i Greve kolonne.
Step-01 :
➤ Følg Step-01 af afsnit 1 .
➤ Skriv ned og gem følgende kode og gem den
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
Denne kode vil oprette en funktion ved navn countnonnumerisk .
Når celleværdien ikke er en numerisk værdi, skal tælle vil blive forhøjet med 1 .
Step-02 :
➤ Vend tilbage til hovedarket, og skriv følgende formel
=countnonnumeric(D5:D11)
D5:D11 er rækkevidden af den Mærker/karakterer af de studerende og countnonnumerisk returnerer det samlede antal ikke-numeriske karakterer.
➤ Tryk på INDTAST
Til sidst får du værdien 3 hvilket betyder, at du har 3 Karakterer i den Mærker/karakterer kolonne.
Læs mere: Sådan returneres en værdi i VBA-funktion (både Array og Non-Array-værdier)
IsNumeric vs ISNUMBER
- ISNUMERIC kontrollerer, om en værdi kan omdannes til et tal og ISNUMBER kontrollerer, om en værdi er gemt som et tal.
- Der er nogle forskelle mellem de VBA ISNUMERIC-funktion og Excel ISNUMBER-funktion og vi har forsøgt at vise forskellene nedenfor ved at bruge vores tidligere oprettede IsNumericTest-funktionen og den indbyggede Excel ISNUMBER-funktion .
Øvelsesafsnit
For at du kan øve dig selv, har vi givet dig en Praksis afsnit som nedenfor i et ark med navnet Praksis . gør det venligst selv.
Konklusion
I denne artikel har vi forsøgt at dække nogle af de måder at bruge VBA ISNUMERIC Hvis du har forslag eller spørgsmål, er du velkommen til at dele dem i kommentarfeltet.