Instr i Excel VBA - Enkle Excel -makroer

Innholdsfortegnelse

Enkel Instr -funksjon | Startposisjon | Null | Instr og If | Saksfølsom søk

Bruk Instr i Excel VBA for å finne posisjonen til en delstreng i en streng. Instr -funksjonen er ganske allsidig.

Plasser en kommandoknapp på regnearket og legg til kodelinjene nedenfor. For å utføre kodelinjene, klikk på kommandoknappen på arket.

Enkel Instr -funksjon

Som standard begynner Instr -funksjonen å søke i begynnelsen av strengen (posisjon 1).

Kode:

Dim state As String
state = "Virginia"
MsgBox InStr (tilstand, "gin")

Resultat:

Merk: streng "gin" funnet i posisjon 4.

Startposisjon

Den andre Instr -funksjonen nedenfor begynner å søke på posisjon 7.

Kode:

Dim state As String
state = "South Carolina"
MsgBox InStr (tilstand, "o")
MsgBox InStr (7, tilstand, "o")

Resultat:

Forklaring: den første Instr -funksjonen finner strengen "o" i posisjon 2. Den andre Instr -funksjonen begynner å søke i posisjon 7 og finner strengen "o" i posisjon 10.

Null

Instr -funksjonen returnerer 0 hvis strengen ikke blir funnet (viktig som vi vil se neste).

Kode:

Dim state As String
state = "Florida"
MsgBox InStr (tilstand, "oss")

Resultat:

Konklusjon: strengen "oss" ikke funnet.

Instr og If

La oss lage et enkelt VBA -program som bruker Instr funksjon.

Kode:

Dim state As String, substring As String
state = Range ("A2"). Verdi
delstreng = Område ("B2"). Verdi
Hvis InStr (tilstand, delstreng)> 0 Da
Område ("C2"). Verdi = "Fant"
Ellers
Område ("C2"). Verdi = "Ikke funnet"
Slutt om

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

Forklaring: streng "outh" funnet på posisjon 2. Instr -funksjonen returnerer 2. Som et resultat plasserer Excel VBA strengen "Found" i celle C2.

Saksfølsom søk

Som standard utfører Instr-funksjonen et saksfølsomt søk. Skriv inn strengen "dakota" i celle B2 og klikk på kommandoknappen på arket.

Forklaring: strengen "dakota" ble ikke funnet (første bokstav er ikke brukt med store bokstaver). Instr -funksjonen returnerer 0. Som et resultat plasserer Excel VBA strengen "Ikke funnet" i celle C2.

Oppdater koden på følgende måte for å utføre et ufølsomt søk:

Dim state As String, substring As String
state = Range ("A2"). Verdi
delstreng = Område ("B2"). Verdi
Hvis InStr (1, state, substring, vbTextCompare)> 0 Then
Område ("C2"). Verdi = "Fant"
Ellers
Område ("C2"). Verdi = "Ikke funnet"
Slutt om

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

Forklaring: Instr -funksjonen vist ovenfor har 4 argumenter. For å utføre et uvesentlig søk må du alltid angi en startposisjon (første argument) og bruke vbTextCompare (fjerde argument).

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave