VBA InStrRev-funktion

Att känna till förekomsten av en sträng i en annan sträng kan vara mycket praktiskt när du arbetar med dagliga data. Uppenbarligen kan vi göra det manuellt genom att beräkna förekomsten av strängen i en annan sträng, men det skulle göra uppgiften mycket rejäl. Så för att göra det enklare har vi en funktion i VBA som kallas INSTRREV som används för att hitta förekomsten.

Som förklarats ovan används INSTRREV i Excel VBA för att hitta en förekomst av en sträng i en annan sträng. Denna funktion hittar den första förekomsten av en sträng i målsträngen och returnerar värdet. Nu måste vi komma ihåg att eftersom det ger förekomsten av strängen så är det returnerade värdet numeriskt. Eftersom det är en jämförelsefunktion så som andra funktioner i VBA finns det tre grundläggande jämförelsemetoder.

Syntax av InStrRev i Excel VBA

Syntaxen för VBA InStrRev-funktion i Excel är som följer:

Låt oss nu bryta ner syntaxen och lära oss om den. String är huvudsträngen där vi vill hitta förekomsten av en substring, Start är den numeriska händelsen vi tillhandahåller strängen. Om ingen startparameter tillhandahålls börjar funktionen att titta på en sträng från slutet av den. Och jämför är jämförelsemetoden vi tillhandahåller funktionen. Det finns tre typer av jämförelser för denna funktion:

  1. För att använda Alternativ Jämför som är (-1). Det är också känt som VbUseCompareOption.
  2. Att använda Binary Compare som är (0). Det är också känt som VbBinaryCompare.
  3. För att använda Text Jämför som är (1). Det är också känt som VbTextCompare.

Återigen om inget av jämförelsesalternativen tillhandahålls betraktar funktionen det automatiskt som en binär jämförelse.

Låt oss nu använda denna funktion i några exempel och titta på hur vi använder denna funktion.

Hur använder jag Excel VBA InStrRev?

Låt oss nu prova med några exempel på VBA InStrRev i Excel.

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

Exempel 1 - VBA InStrRev

Låt oss ta som exempel att vår sträng är "Jag är en bra pojke" och hitta förekomsten av karaktär "" som är rymden.

Steg 1: Nu innan vi flyttar till VBA ska du först aktivera VBA och sedan gå till kodavsnittet i utvecklarens avsnitt för att klicka på visual basic.

Steg 2: När vi väl kommer in i VB-redigeraren som vi kan se i rubrikavsnittet finns det ett alternativ att infoga. Sätt i en ny modul från det alternativet som visas nedan.

Steg 3: Låt oss nu starta vår delprocess i modulen som visas nedan.

Koda:

 Sub Sample () Slut Sub 

Steg 4: Förklara nu en variabel som ett heltal som kommer att hålla utgångsvärdet för funktionen för oss.

Koda:

 Underprov () Dim A som heltal slut sub 

Steg 5: I variabeln använder du INSTRREV-funktionen för att hitta förekomsten av "" i strängen "I am a Good Boy" enligt följande.

Koda:

 Underprov () Dim A som heltal A = InStrRev ("Jag är en bra pojke", "") Slut Sub 

Steg 6: Visa nu värdet som är lagrat i variabel A med funktionen msgbox.

Koda:

 Underprov () Dim A som heltal A = InStrRev ("Jag är en bra pojke", "") MsgBox A End Sub 

Steg 7: Låt oss köra ovanstående kod för att få följande resultat.

Vi får resultatet som 13 eftersom vi inte tillhandahöll startpositionen till funktionen så det beräknade automatiskt förekomsten från slutet och så resultatet. Det konstateras att “” ligger på strängens 13: e position när vi söker efter den från slutet.

Exempel 2 - VBA InStrRev

I exemplet ovan tillhandahöll vi inte någon startposition till strängen. Låt oss tillhandahålla den här gången i detta exempel. Låt oss ta reda på från den andra positionen var "" inträffar i strängen.

Steg 1: Sätt i en ny modul från det alternativet som visas nedan.

Steg 2: Låt oss åter definiera en delprocedur för vårt andra exempel.

Koda:

 Sub Sample1 () Slut Sub 

Steg 3: Förklara en annan heltalvariabel för exemplet.

Koda:

 Underprov1 () Dim A som heltal slutdel 

Steg 4: Nu i variabel A låt oss hitta förekomsten av "" från den andra positionen med hjälp av INSTRREV-funktionen enligt följande.

Koda:

 Underprov1 () Dim A som heltal A = InStrRev ("Jag är en bra pojke", "", 2) End Sub 

Steg 5: Använd nu funktionen msgbox för att visa värdet som lagras i A.

Koda:

 Underprov1 () Dim A som heltal A = InStrRev ("Jag är en bra pojke", "", 2) MsgBox A End Sub 

Steg 6: Kör nu ovanstående kod för att ta reda på nedanstående resultat som visas nedan,

Vi får 1 som resultat när vi räknar 2 får vi jag och efter en position får vi förekomsten av “”.

Exempel 3 - VBA InStrRev

Låt oss i det här exemplet använda jämförmetoderna. Vi har en sträng "Indien är det bästa" och låt oss hitta strängen "E" med både text och binära jämförningsmetoder.

Steg 1: I samma modul 1, skriv en annan delprocedur till exempel 3.

Koda:

 Sub Sample2 () Slut Sub 

Steg 2: Låt oss definiera två variabler som heltal som kommer att innehålla värdet för förekomsten av strängen E i både text respektive binärjämförelse.

Koda:

 Subprov2 () Dim A, B Som heltal Sub Sub 

Steg 3: I variabel A låt oss använda INSTRREV-funktionen med textjämförelsen enligt följande.

Koda:

 Subprov2 () Dim A, B som heltal A = InStrRev ("Indien är bäst", "E",, vbTextCompare) Slut Sub 

Steg 4: Visa nu värdet som lagras i A med hjälp av msgbox-funktionen.

Koda:

 Subprov2 () Dim A, B som heltal A = InStrRev ("Indien är bäst", "E", vbTextCompare) MsgBox A End Sub 

Steg 5: I variabel B, låt oss använda den binära jämförelsen för samma sträng som följer.

Koda:

 Underprov2 () Dim A, B som heltal A = InStrRev ("Indien är bäst", "E", vbTextCompare) MsgBox AB = InStrRev ("Indien är bäst", "E", vbBinaryCompare) MsgBox B End Sub 

Steg 6: Kör ovanstående kod för att hitta det första resultatet som är lagrat i variabel A, vilket är som följer.

Steg 7: Tryck på OK för att se resultatet lagrat i variabel B.

Vi får 0 som resultat för binär jämförelse eftersom "e" inte finns i vår sträng inte "E". I binära värden är båda dessa olika. Så om ett värde inte hittas i strängen får vi ett resultat som 0.

Saker att komma ihåg

  • Värdet som returneras av denna funktion är numeriskt.
  • Om substrängen inte hittas är det returnerade värdet 0.
  • Startposition är valfritt. Om det inte tillhandahålls, sök som standardfunktion förekomsten från slutet av strängen.
  • Jämförelsemetoderna är också valfria.

Rekommenderade artiklar

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

  1. Arbetar med VBA Active Cell
  2. Radera en rad i VBA
  3. Hur använder jag Excel VBA-transponering?
  4. Hur du åtgärdar 1004-fel vid användning av VBA

Kategori: