VBA InStr-funktion

I VBA har vi en funktion som heter InStr-funktion som används för att returnera positionen för den första förekomsten av en substring i en sträng. Vilket betyder, till exempel, vi har ett namn som heter "Jhon" och vi måste hitta förekomsten av positionen för H-alfabetet i strängen. Detta är vad funktionen används för.

Formel för InStr-funktion i Excel VBA

Excel VBA InStr-funktion har följande syntax:

I syntaxen är Start och jämför jämförbara medan sträng- och substringvärden krävs. En sträng är en sträng där vi vill hitta vår substring och substring är värdet som måste hittas i strängen. Anta att om vi skulle använda ovanstående syntax på vårt exempel på Jhon ovan VBA-koden skulle vara som nedan,

Instr ("Jhon", "H") och resultatet skulle vara 2 eftersom alfabetet H är 2 i strängen.

Nu går vi mot de valfria delarna av syntaxen som är, börja och jämföra. Starten är positionen för strängen där vi vill starta sökningen, medan jämför är av tre typer,

  1. VbUseCompareOption: (-1) Det används för att göra alternativjämförelse.
  2. VbBinaryCompare: (0) Det används för att göra binär jämförelse.
  3. VbTextCompare: (1) Det används till den textliga jämförelsen.

Men vi behöver en variabel för att lagra värdet på resultatet. Eftersom värdet är ett heltal så bör den definierade variabeln också vara ett heltal. Om vi ​​nu har beräknat värdet måste vi också visa resultatet använder vi msgbox-funktionen för att visa resultatet.

Hur använder jag Excel VBA InStr-funktion?

Vi kommer att lära dig att använda en VBA InStr Excel-funktion med några exempel.

Du kan ladda ner denna VBA InStr Excel-mall här - VBA InStr Excel-mall

VBA InStr-funktion - Exempel # 1

I förklaringen ovan använde jag ordet Jhon som en sträng och ville hitta positionen för H i strängen. Jag skriver koden för samma i VBA och använder Instr-funktionen för att hitta positionen för J i strängen.

Följ stegen nedan för att använda InStr-funktionen i VBA.

Steg 1: Klicka på Visual Basicutvecklarfliken för att öppna VB-redigeraren.

Steg 2: När modulen är öppen, förklara en underfunktion för att börja skriva koden.

Koda:

 Sub Compare () Slut Sub 

Steg 3: Nu har funktionen deklarerats, Vi måste deklarera en variabel för att lagra positionen för underlagssträngen.

Koda:

 Sub Compare () Dim Pos som heltal End Sub 

Steg 4: Nu skriver vi InStr-funktionen för att ta reda på positionen för vår substring.

Koda:

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

Steg 5: För att returnera positionen för understrängen som ett värde använder vi MsgBox-funktionen och stänger underfunktionen.

Koda:

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

Steg 6: Om vi ​​kör koden visar den positionen för alfabetet J i strängen.

Steg 7: Om vi ​​ändrar substrängen för att kontrollera att koden körs ordentligt, låt oss hitta alfabetet n i strängen.

Koda:

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

Steg 8: Nu om vi kör koden kan vi se positionen för alfabetet n i strängen.

VBA InStr-funktion - Exempel # 2

Nu har vi sett vad de nödvändiga argumenten för funktionen gör, låt oss nu använda de valfria. Strängen är "Jag är en bra pojke men inte en bra löpare". Vi kommer att hitta substren "Good" från strängen men ignorerar den första Good från meningen.

Följ stegen nedan för att använda InStr-funktionen i VBA.

Steg 1: Öppna VB-redigeraren från utvecklarens flik genom att klicka på Visual Basic.

Steg 2: Börja med att deklarera en underfunktion.

Koda:

 Sub Compare1 () Slut Sub 

Steg 3: Förklara nu en variabel för att lagra positionen för underlagssträngen.

Koda:

 Sub Compare1 () Dim Pos1 Som heltal Sub Sub 

Steg 4: Nu kommer vi att använda InStr-funktionen för att hitta strängens position.

Koda:

 Sub Compare1 () Dim Pos1 Som heltal Pos = InStr (12, "Jag är en bra pojke men är en bra löpare", "Bra", vbBinaryCompare) End Sub 

Steg 5: Nu använder vi Msgbox-funktionen för att returnera värdet på strängen.

Koda:

 Sub Compare1 () Dim Pos1 Som heltal Pos = InStr (12, "Jag är en bra pojke men är en bra löpare", "Bra", vbBinaryCompare) MsgBox Pos End Sub 

Steg 6: Nu om vi kör koden kan vi få positionen för substrängen.

Förklaring av Excel VBA Instr-funktion

InStr-funktionen i VBA används för att returnera positionen för värdet på substringen i en sträng. Vad händer om värdet inte hittas? Om värdet inte hittas i strängen är resultatet som visas noll.

En sak som vi alltid ska komma ihåg Instr-funktionen är skiftlägeskänsliga. För att bevisa detta går vi till exempel 1 där vi använde instr-funktionen för att söka i ett alfabet.

Vad händer om substrängen är “N” istället för “n”? låt oss ta reda på det. Jag har ändrat alfabetet i strängen.

Nu om jag kör koden får jag resultatet som visas nedan.

Detta bevisar att instr-funktionen är skiftlägeskänslig.

Saker att komma ihåg

  • De två obligatoriska fälten är String och Substring.
  • Instr-funktion är skiftlägeskänslig.
  • Värdet på InStr-funktionen är ett heltal.

Rekommenderade artiklar

Detta har varit en guide till VBA InStr-funktion. Här diskuterade vi hur du använder Excel VBA InStr-funktion tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA VLOOKUP-funktion
  2. Excel SWITCH-funktion
  3. Komplett guide till VBA vid fel
  4. Användningar av Scrollbar i Excel

Kategori: