Instr i Excel VBA - Nemme Excel -makroer

Indholdsfortegnelse

Enkel indgangsfunktion | Startposition | Nul | Instr og If | Let og ufølsom søgning

Brug Instr i Excel VBA for at finde placeringen af ​​en delstreng i en streng. Instr -funktionen er ret alsidig.

Placer en kommandoknap på dit regneark, og tilføj nedenstående kodelinjer. For at udføre kodelinjerne skal du klikke på kommandoknappen på arket.

Enkel indgangsfunktion

Som standard begynder Instr -funktionen at søge i begyndelsen af ​​strengen (position 1).

Kode:

Dim tilstand som streng
state = "Virginia"
MsgBox InStr (tilstand, "gin")

Resultat:

Bemærk: streng "gin" fundet i position 4.

Startposition

Den anden Instr -funktion nedenfor begynder at søge på position 7.

Kode:

Dim tilstand som streng
state = "South Carolina"
MsgBox InStr (tilstand, "o")
MsgBox InStr (7, angiv, "o")

Resultat:

Forklaring: den første Instr -funktion finder strengen "o" i position 2. Den anden Instr -funktion begynder at søge i position 7 og finder strengen "o" i position 10.

Nul

Instr -funktionen returnerer 0, hvis strengen ikke findes (vigtigt som vi vil se næste).

Kode:

Dim tilstand som streng
state = "Florida"
MsgBox InStr (tilstand, "os")

Resultat:

Konklusion: streng "os" ikke fundet.

Instr og If

Lad os oprette et simpelt VBA -program, der bruger Instr funktion.

Kode:

Dim tilstand som streng, understring som streng
tilstand = Område ("A2"). Værdi
substring = Range ("B2"). Værdi
Hvis InStr (tilstand, delstreng)> 0 Derefter
Område ("C2"). Værdi = "Fundet"
Andet
Område ("C2"). Værdi = "Ikke fundet"
Afslut Hvis

Resultat, når du klikker på kommandoknappen på arket:

Forklaring: string "outh" fundet på position 2. Instr -funktionen returnerer 2. Som et resultat placerer Excel VBA strengen "Found" i celle C2.

Let og ufølsom søgning

Som standard udfører Instr-funktionen en sagsfølsom søgning. Indtast strengen "dakota" i celle B2, og klik på kommando -knappen på arket.

Forklaring: streng "dakota" blev ikke fundet (første bogstav ikke med store bogstaver). Instr -funktionen returnerer 0. Som følge heraf placerer Excel VBA strengen "Ikke fundet" i celle C2.

Opdater koden på følgende måde for at foretage en ufølsom søgning:

Dim tilstand som streng, understring som streng
tilstand = Område ("A2"). Værdi
substring = Range ("B2"). Værdi
Hvis InStr (1, state, substring, vbTextCompare)> 0 Herefter
Område ("C2"). Værdi = "Fundet"
Andet
Område ("C2"). Værdi = "Ikke fundet"
Afslut Hvis

Resultat, når du klikker på kommandoknappen på arket:

Forklaring: Instr -funktionen vist ovenfor har 4 argumenter. For at udføre en let og ufølsom søgning skal du altid angive en startposition (første argument) og bruge vbTextCompare (fjerde argument).

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave