Lihtne tööfunktsioon | Alguspositsioon | Null | Instr ja If | Väiketähtedeta otsing
Kasutamine Instr sisse Exceli VBA leida stringi alamstringi asukoht. Funktsioon Instr on üsna mitmekülgne.
Asetage oma töölehele käsunupp ja lisage allolevad koodiridad. Koodiridade täitmiseks klõpsake lehel käsunuppu.
Lihtne Instr funktsioon
Vaikimisi hakkab funktsioon Instr otsima stringi algusest (positsioon 1).
Kood:
Hämardatud olek nagu string
osariik = "Virginia"
MsgBox InStr (olek, "gin")
Tulemus:
Märkus: string "gin" leiti positsioonilt 4.
Alusta positsiooni
Allpool olev teine Instr funktsioon alustab otsimist 7. positsioonilt.
Kood:
Hämardatud olek nagu string
osariik = "Lõuna -Carolina"
MsgBox InStr (olek, "o")
MsgBox InStr (7, olek, "o")
Tulemus:
Selgitus: esimene Instr -funktsioon leiab stringi "o" positsioonist 2. Teine Instr -funktsioon alustab otsimist positsioonist 7 ja leiab stringist "o" positsioonist 10.
Null
Funktsioon Instr tagastab 0, kui stringi ei leita (oluline, nagu näeme järgmisena).
Kood:
Hämardatud olek nagu string
osariik = "Florida"
MsgBox InStr (olek, "meie")
Tulemus:
Järeldus: stringi "meie" ei leitud.
Instr ja If
Loome lihtsa VBA programmi, mis kasutab Instrumendi funktsioon.
Kood:
Hämarda olek stringina, alamstring stringina
olek = vahemik ("A2"). Väärtus
alamstring = vahemik ("B2"). Väärtus
Kui InStr (olek, alamstring)> 0 Siis
Vahemik ("C2"). Väärtus = "Leitud"
Muidu
Vahemik ("C2"). Väärtus = "Ei leitud"
Lõpp Kui
Tulemus, kui klõpsate lehel käsunuppu:
Selgitus: string "outh" leiti positsioonist 2. Funktsioon Instr tagastab 2. Selle tulemusena paigutab Excel VBA stringi "leitud" lahtrisse C2.
Väiketähtedeta otsing
Vaikimisi teostab funktsioon Instr väiketähtede otsingu. Sisestage lahtrisse B2 string "dakota" ja klõpsake lehel käsunuppu.
Selgitus: stringi "dakota" ei leitud (esimene täht pole suurtähtedega). Funktsioon Instr tagastab 0. Selle tulemusena paigutab Excel VBA stringi "Not Found" lahtrisse C2.
Väiketähtedeta otsingu tegemiseks värskendage koodi järgmiselt.
Hämarda olek stringina, alamstring stringina
olek = vahemik ("A2"). Väärtus
alamstring = vahemik ("B2"). Väärtus
Kui InStr (1, olek, alamstring, vbTextCompare)> 0 Siis
Vahemik ("C2"). Väärtus = "Leitud"
Muidu
Vahemik ("C2"). Väärtus = "Ei leitud"
Lõpp Kui
Tulemus, kui klõpsate lehel käsunuppu:
Selgitus: ülaltoodud funktsioonil Instr on 4 argumenti. Väiketähtedeta otsingu tegemiseks määrake alati alguspositsioon (esimene argument) ja kasutage vbTextCompare (neljas argument).