Hoe VBA IsNumeric-functie gebruiken (9 voorbeelden)

  • Deel Dit
Hugh West

Als u op zoek bent naar enkele van de gemakkelijkste manieren om de VBA IsNumeriek functie, dan bent u op de juiste plaats. We gebruiken deze functie meestal in VBA om te testen of een uitdrukking een getal is of niet en afhankelijk van de uitdrukking zal het het volgende opleveren WARE indien de uitdrukking een getal is anders FALSE .

Werkboek downloaden

VBA IsNumerieke Functie.xlsm

VBA IsNumeric Functie: Syntaxis & Argumenten

⦿ Syntax

IsNumeriek (Uitdrukking)

⦿ Argumenten

Argument Vereist/optioneel Uitleg
Expressie Vereist Het is een variant die moet worden gecontroleerd of het een getal is of niet.

⦿ Retourwaarde

Ingang Retourwaarde
Nummer WARE
Geen nummer; String FALSE

⦿ Versie

De ISNUMERIC functie werd geïntroduceerd in de Excel 2000 versie en is beschikbaar voor alle versies daarna.

9 Voorbeelden van het gebruik van de VBA IsNumeric-functie

In dit artikel zullen wij proberen de toepassingen van de VBA IsNumeriek met enkele willekeurige voorbeelden, waaronder de volgende tabel.

Wij hebben gebruik gemaakt van Microsoft Excel 365 versie hier, u kunt elke andere versie gebruiken volgens uw gemak.

1. VBA IsNumeriek controleren met enkele willekeurige waarden

Hier zullen we enkele willekeurige strings testen met de VBA ISNUMERISCH of de waarden numeriek zijn of niet.

Step-01 :

Ga naar Ontwikkelaar Tab>> Visual Basic Optie.

Dan, de Visual Basic-editor gaat open.

Ga naar Plaats Tab>> Module Optie.

Daarna, een Module zal worden gecreëerd.

Step-02 :

➤ Schrijf de volgende code

 Sub checkvalue1() Dim x As Variant x = InputBox("Geef een willekeurige waarde") MsgBox IsNumeric(x) End Sub 

Hier hebben we verklaard x als Variant en het zal de invoerwaarde opslaan. Dan ISNUMERISCH zal terugkeren WARE als de ingevoerde waarde numeriek is, anders geeft hij als resultaat FALSE We vinden de uitvoer in een berichtvenster ( MsgBox ).

Druk F5 .

Dan krijgt u het volgende invoerveld en als u de waarde schrijft 100 en druk op OK ,

krijg je een bericht dat zegt "True" .

Voor het schrijven van de string Kat en het indrukken van OK in het invoerveld,

We krijgen een berichtvenster dat zegt "False" .

Lees meer: Hoe de VBA Randomize functie in Excel gebruiken (5 voorbeelden)

2. VBA IsNumeriek gebruiken met IF-THEN-ELSE verklaring

In dit deel gebruiken we de ISNUMERIC functie met de IF-THEN-ELSE verklaring in een VBA code om de numerieke en niet-numerieke waarden te definiëren.

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

 Sub checkvalue2() Dim x As Variant x = InputBox("Geef een willekeurige waarde") Als IsNumeric(x) = True Dan MsgBox "De gegeven waarde is numeriek" Else MsgBox "De gegeven waarde is niet numeriek" End If End Sub 

Hier hebben we verklaard x als Variant en het zal de invoerwaarde opslaan. Wanneer ISNUMERISCH zal terugkeren WARE , ALS zal een bericht terugsturen dat zegt "De gegeven waarde is numeriek" en als ISNUMERISCH geeft terug. FALSE dan ALS geeft een bericht terug waarin wordt uitgelegd "De gegeven waarde is niet numeriek" .

Druk F5 .

Dan krijg je het volgende invoerveld en als je de waarde schrijft 200 en druk op OK ,

krijg je een bericht dat zegt "De gegeven waarde is numeriek" .

Voor het schrijven van de string Kat en het indrukken van OK in het invoerveld,

We krijgen een berichtvenster dat zegt "De gegeven waarde is niet numeriek" .

Lees meer: VBA If - Then - Else Statement in Excel (4 voorbeelden)

3. Een tegengesteld resultaat maken met de functie IsNumeriek

Hier zullen we een VBA code die ons het omgekeerde resultaat geeft van de ISNUMERIC functie wat betekent dat we voor numerieke waarden het volgende krijgen FALSE en voor niet-numerieke waarden geeft het WARE .

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

 Sub checkvalue3() Dim x As Variant x = InputBox("Geef een willekeurige waarde") Als IsNumeric(x) = True Dan MsgBox ("FALSE") Else MsgBox ("TRUE") End If End Sub 

Hier hebben we verklaard x als Variant en het zal de invoerwaarde opslaan. Wanneer ISNUMERISCH zal terugkeren WARE , ALS zal een bericht terugsturen dat zegt "FALSE" en als ISNUMERISCH geeft terug. FALSE dan ALS geeft een bericht terug waarin wordt uitgelegd "TRUE" .

Druk F5 .

Dan krijgt u het volgende invoerveld en als u de waarde schrijft 25 en druk op OK ,

krijg je een bericht dat zegt "FALSE" .

Voor het schrijven van de string Alaska en het indrukken van OK in het invoerveld,

We krijgen een berichtvenster dat zegt "TRUE" .

Gerelateerde inhoud: VBA opmaakfunctie in Excel (8 toepassingen met voorbeelden)

4. Controleren of Blanks numeriek is of niet

U kunt dit gemakkelijk controleren met een VBA code of spaties numeriek zijn of niet.

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

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

Hier hebben we verklaard x als Variant en het zal de Blanco . Dan ISNUMERISCH zal terugkeren WARE als de Blanco is numeriek anders zal het FALSE .

Druk F5 .

Daarna krijgt u een berichtvenster dat zegt "False" wat betekent spaties zijn niet numeriek .

Lees meer: Excel formule om willekeurig getal te genereren (5 voorbeelden)

5. Controleren of data numeriek zijn of niet

In dit deel zullen we een willekeurige datum gebruiken en controleren of de datum numeriek is of niet.

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

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

Hier hebben we verklaard x als Variant en het zal een datum opslaan. Dan ISNUMERISCH zal terugkeren WARE als de datum numeriek is, anders geeft hij als resultaat FALSE .

Druk F5 .

Daarna krijgt u een berichtvenster dat zegt "False" wat betekent data zijn niet numeriek .

We kunnen het ook proberen met de DATESERIAL functie om data te maken en te controleren of het numeriek is of niet.

➤ Type de volgende code

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

Hier hebben we verklaard x als Variant en het zal een datum opslaan die is aangemaakt door de DATESERIAL functie . Dan ISNUMERISCH zal terugkeren WARE als de datum numeriek is, anders geeft hij als resultaat FALSE .

Druk F5 .

In ruil daarvoor krijgt u een berichtvenster met de volgende tekst "False" ook deze keer.

Lees meer: VBA Datumfunctie (12 toepassingen van macro's met voorbeelden)

Vergelijkbare lezingen:

  • Hoe de MsgBox-functie in Excel VBA te gebruiken (een complete richtlijn)
  • De VBA Environ-functie gebruiken (4 voorbeelden)
  • Hoe VBA en functie in Excel gebruiken (4 voorbeelden)
  • VBA-zaakverklaring gebruiken (13 voorbeelden)
  • Hoe de Log-functie in Excel VBA te gebruiken (5 geschikte voorbeelden)

6. Uitzoeken of de tijd numeriek is of niet

In dit deel zullen we nagaan of tijden numeriek zijn of niet door gebruik te maken van de ISNUMERIC functie .

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

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

Hier hebben we verklaard x als Variant en het zal een tijd opslaan. Dan ISNUMERISCH zal terugkeren WARE als de tijd numeriek is, anders geeft hij als resultaat FALSE .

Druk F5 .

Daarna krijgt u een berichtvenster met de tekst "False" wat betekent tijden zijn niet numeriek .

U kunt het ook proberen met de TIMESERIAL functie om data te maken en te controleren of het numeriek is of niet.

➤ Type de volgende code

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

Hier hebben we verklaard x als Variant en het zal een tijd opslaan die is aangemaakt door de TIMESERIAL functie . Dan ISNUMERISCH zal terugkeren WARE als de tijd numeriek is, anders geeft hij als resultaat FALSE .

Druk F5 .

Dan krijg je een berichtvenster dat zegt "False" ook deze keer.

Opnieuw kunnen we proberen te verwijzen naar een tijdswaarde in een cel van een blad.

➤ Type de volgende code

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

Hier hebben we verklaard x als Variant en het zal een tijd opslaan die in de B2 cel. Dan ISNUMERISCH zal terugkeren WARE als de tijd numeriek is, anders geeft hij als resultaat FALSE .

Druk F5 .

Tenslotte krijgt u een berichtvenster dat zegt "True" deze keer.

Lees meer: Gebruik van VBA TimeSerial in Excel (3 voorbeelden)

7. VBA IsNumeriek gebruiken voor een waardenbereik

Hier controleren we of de waarden van de Merken/Grades kolom numeriek of niet-numeriek zijn en de resultaten in de Controleer column.

Stappen :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op

 Sub controlewaarde7() Dim cel Als Bereik Voor Elke cel In Bereik("D5:D11") cel.Offset(0, 1) = IsNumeriek(cel) Volgende cel Einde Sub 

We hebben de cel gedeclareerd als Range en een VOOR lus voor de cellen van het bereik "D5:D11" en voor deze cellen, de ISNUMERISCH zal terugkeren WARE als de waarde numeriek is, anders geeft hij terug FALSE en cell.Offset(0, 1) zal de uitvoerwaarden in een kolom later teruggeven aan de invoerkolom.

Druk F5 .

Daarna hebben we WARE voor de numerieke waarden of Marks en FALSE voor niet-numerieke waarden of Rangen .

Lees meer: Gebruik van de VBA Val-functie in Excel (7 voorbeelden)

8. Een functie maken om een waardenbereik te testen

In deze sectie zullen we een functie maken met de VBA ISNUMERIC en controleren of de waarden van de Merken/Graden kolom numeriek of niet-numeriek zijn.

Step-01 :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op en sla hem op

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

Deze code maakt een functie genaamd IsNumericTest .

Step-02 :

➤ Ga terug naar het hoofdblad en typ de volgende formule in de cel E5

=IsNumeriekeTest(D5)

D5 is de Merken/Graden van een student en IsNumericTest zal terugkeren WAAR/NIET WAAR afhankelijk van de waarde.

Druk ENTER en sleep de Vulgreep gereedschap.

Tenslotte zullen we WARE voor de numerieke waarden of Marks en FALSE voor niet-numerieke waarden of Rangen .

Gerelateerde inhoud: Gebruik van de VBA DIR-functie in Excel (7 voorbeelden)

9. Niet-numerieke waarden tellen met de VBA IsNumeric-functie

Wij willen de niet-numerieke waarden of cijfers van de Merken/Graden kolom en om dit hier te doen gebruiken we de VBA ISNUMERIC en hebben het totale aantal van de niet-numerieke waarden die we in de Graaf column.

Step-01 :

Volg Step-01 van Sectie 1 .

Schrijf de volgende code op en sla hem op

 Functie 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 

Deze code maakt een functie genaamd countnonnumeric .

Wanneer de celwaarde geen numerieke waarde zal zijn dan zal de tel zal worden verhoogd met 1 .

Step-02 :

➤ Ga terug naar het hoofdblad en typ de volgende formule in

=countnonnumeric(D5:D11)

D5:D11 is het bereik van de Merken/Graden van de studenten en countnonnumeric geeft het totale aantal niet-numerieke cijfers.

Druk ENTER

Tenslotte krijgt u de waarde 3 wat betekent dat je 3 Cijfers in de Merken/Graden column.

Lees meer: Een waarde teruggeven in een VBA-functie (zowel matrix- als niet-matrixwaarden)

IsNumeriek vs ISNUMBER

  • ISNUMERISCH controleert of een waarde kan worden omgezet in een getal en ISNUMMER controleert of een waarde is opgeslagen als een getal.
  • Er zijn enkele verschillen tussen de VBA ISNUMERIC functie en de Excel Functie ISNUMBER en we hebben geprobeerd de verschillen hieronder aan te tonen aan de hand van onze eerder gemaakte IsNumericTest-functie en de ingebouwde Excel Functie ISNUMBER .

Praktijk Sectie

Om zelf te oefenen hebben we een Praktijk sectie zoals hieronder in een blad met de naam Praktijk Doe het alsjeblieft zelf.

Conclusie

In dit artikel hebben we geprobeerd enkele manieren te behandelen om de VBA ISNUMERIC Als je suggesties of vragen hebt, voel je vrij om ze te delen in het commentaargedeelte.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.