VBA InStr-functie

In VBA hebben we een functie genaamd InStr-functie die wordt gebruikt om de positie van het eerste exemplaar van een substring in een string te retourneren. Dat betekent dat we bijvoorbeeld een naam hebben die "Jhon" wordt genoemd en dat we het voorkomen van de positie van het H-alfabet in de string moeten vinden. Hier wordt de functie voor gebruikt.

Formule voor InStr-functie in Excel VBA

Excel VBA InStr-functie heeft de volgende syntaxis:

In de syntaxis zijn Start en vergelijking optioneel, terwijl string- en substringwaarden vereist zijn. Een string is een string waar we onze substring willen vinden en substring is de waarde die moet worden gevonden in de string. Stel dat als we de bovenstaande syntaxis in ons voorbeeld van Jhon boven de VBA-code zouden moeten gebruiken, deze hieronder zou zijn,

Instr ("Jhon", "H") en het resultaat zou 2 zijn omdat de positie van alfabet H 2 is in de tekenreeks.

Nu gaan we naar de optionele delen van de syntaxis, start en vergelijk. Het begin is de positie van de tekenreeks van waaruit we de zoekopdracht willen starten, terwijl vergelijken van drie typen is,

  1. VbUseCompareOption: (-1) Het wordt gebruikt om opties te vergelijken.
  2. VbBinaryCompare: (0) Het wordt gebruikt om binaire vergelijkingen te maken.
  3. VbTextCompare: (1) Het wordt gebruikt voor de tekstuele vergelijking.

Maar we hebben een variabele nodig om de waarde van het resultaat op te slaan. Omdat de waarde een geheel getal is, moet de gedefinieerde variabele ook een geheel getal zijn. Als we nu de waarde hebben berekend, moeten we ook het resultaat weergeven. We gebruiken de msgbox-functie om het resultaat weer te geven.

Hoe de Excel VBA InStr-functie te gebruiken?

We zullen leren hoe een VBA InStr Excel-functie te gebruiken met enkele voorbeelden.

U kunt deze VBA InStr Excel-sjabloon hier downloaden - VBA InStr Excel-sjabloon

VBA InStr-functie - Voorbeeld # 1

In de bovenstaande uitleg gebruikte ik het woord Jhon als een string en wilde de positie van H in de string vinden. Ik zal de code hiervoor schrijven in VBA en de functie Instr gebruiken om de positie van J in de string te vinden.

Volg de onderstaande stappen om de InStr-functie in VBA te gebruiken.

Stap 1: Klik op het tabblad Ontwikkelaars op Visual Basic om de VB-editor te openen.

Stap 2: Zodra de module is geopend, declareert u een subfunctie om de code te schrijven.

Code:

 Sub Vergelijk () Einde Sub 

Stap 3: Nu is de functie gedeclareerd, we moeten een variabele declareren om de positie van de substring op te slaan.

Code:

 Sub Compare () Dim Pos As Integer End Sub 

Stap 4: Nu schrijven we de InStr-functie om de positie van onze substring te achterhalen.

Code:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "J") End Sub 

Stap 5: Om de positie van de substring als een waarde te retourneren, gebruiken we de MsgBox-functie en sluiten we de subfunctie.

Code:

 Sub Vergelijk () Dim Pos As Integer Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Stap 6: Als we de code uitvoeren, wordt de positie van alfabet J in de tekenreeks weergegeven.

Stap 7: Als we de substring wijzigen om te controleren of de code correct werkt, zoeken we het alfabet n in de tekenreeks.

Code:

 Sub Vergelijk () Dim Pos As Integer Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Stap 8: Als we nu de code uitvoeren, kunnen we de positie van alfabet n in de tekenreeks zien.

VBA InStr-functie - Voorbeeld # 2

Nu hebben we gezien wat de vereiste argumenten van de functie doen, laten we nu de optionele argumenten gebruiken. De reeks is: "Ik ben een goede jongen maar geen goede hardloper". We vinden de substring 'Good' uit de string, maar negeren het eerste Good uit de zin.

Volg de onderstaande stappen om de InStr-functie in VBA te gebruiken.

Stap 1: Open de VB-editor op het tabblad van de ontwikkelaar door op Visual Basic te klikken.

Stap 2: Begin met het declareren van een subfunctie.

Code:

 Sub Compare1 () Einde Sub 

Stap 3: Declareer nu een variabele om de positie van de substring op te slaan.

Code:

 Sub Compare1 () Dim Pos1 As Integer End Sub 

Stap 4: Nu zullen we de InStr-functie gebruiken om de positie van de string te vinden.

Code:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "Ik ben een Good Boy maar bot een Good Runner", "Good", vbBinaryCompare) End Sub 

Stap 5: Nu gebruiken we de Msgbox-functie om de waarde van de tekenreeks te retourneren.

Code:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "Ik ben een Good Boy maar bot een Good Runner", "Good", vbBinaryCompare) MsgBox Pos End Sub 

Stap 6: Als we nu de code uitvoeren, kunnen we de positie van de substring krijgen.

Verklaring van Excel VBA Instr-functie

De functie InStr in VBA wordt gebruikt om de positie van de waarde van de substring in een tekenreeks te retourneren. Wat gebeurt er als de waarde niet wordt gevonden? Als de waarde niet in de tekenreeks wordt gevonden, is het weergegeven resultaat nul.

Een ding dat we altijd moeten onthouden is dat de functie Instr hoofdlettergevoelig is. Om dit te bewijzen gaan we naar voorbeeld 1 waar we de instr-functie hebben gebruikt om een ​​alfabet te zoeken.

Wat gebeurt er als de substring 'N' is in plaats van 'n'? laat het ons weten. Ik heb de hoofdletter van het alfabet in de string gewijzigd.

Als ik nu de code uitvoer, krijg ik het resultaat zoals hieronder wordt weergegeven.

Dit bewijst dat de instr-functie hoofdlettergevoelig is.

Dingen om te onthouden

  • De twee verplichte velden zijn String en Substring.
  • Instr-functie is hoofdlettergevoelig.
  • De waarde van de InStr-functie is een geheel getal.

Aanbevolen artikelen

Dit is een handleiding geweest voor de VBA InStr-functie. Hier hebben we besproken hoe u Excel VBA InStr-functie kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA VLOOKUP-functie
  2. Excel SWITCH-functie
  3. Volledige gids voor VBA bij fout
  4. Gebruik van de schuifbalk in Excel

Categorie: