Yksinkertainen Instr -toiminto | Aloitusasento | Nolla | Instr ja If | Kirjainkoolla ei merkitystä Haku
Käyttää Instr sisään Excel VBA löytääksesi merkkijonon alimerkkijonon sijainnin. Instr -toiminto on varsin monipuolinen.
Aseta komentopainike laskentataulukkoosi ja lisää alla olevat koodirivit. Suorita koodirivit napsauttamalla taulukon komentopainiketta.
Yksinkertainen Instr -toiminto
Oletuksena Instr -toiminto alkaa etsiä merkkijonon alusta (kohta 1).
Koodi:
Dim -tila merkkijonona
osavaltio = "Virginia"
MsgBox InStr (tila, "gin")
Tulos:
Huomaa: merkkijono "gin" löytyy kohdasta 4.
Aloitusasento
Toinen alla oleva Instr -toiminto alkaa etsiä paikasta 7.
Koodi:
Dim -tila merkkijonona
osavaltio = "Etelä -Carolina"
MsgBox InStr (tila, "o")
MsgBox InStr (7, tila, "o")
Tulos:
Selitys: ensimmäinen Instr -funktio löytää merkkijonon "o" paikasta 2. Toinen Instr -funktio alkaa etsiä paikasta 7 ja löytää merkkijonon "o" paikasta 10.
Nolla
Instr -funktio palauttaa 0, jos merkkijonoa ei löydy (tärkeä, kuten näemme seuraavassa).
Koodi:
Dim -tila merkkijonona
osavaltio = "Florida"
MsgBox InStr (tila, "me")
Tulos:
Johtopäätös: merkkijonoa "me" ei löydy.
Instr ja If
Luodaan yksinkertainen VBA -ohjelma, joka käyttää Instr -toiminto.
Koodi:
Dim -tila merkkijonona, alimerkkijono merkkijonona
tila = alue ("A2"). Arvo
alimerkkijono = Alue ("B2"). Arvo
Jos InStr (tila, alimerkkijono)> 0 Sitten
Alue ("C2"). Arvo = "Löytynyt"
Muu
Alue ("C2"). Arvo = "Ei löydy"
Loppu Jos
Tulos, kun napsautat taulukon komentopainiketta:
Selitys: merkkijono "outh" löytyi kohdasta 2. Instr -funktio palauttaa 2. Tämän seurauksena Excel VBA sijoittaa merkkijonon "Found" soluun C2.
Kirjainkoolla ei merkitystä Haku
Instr-toiminto suorittaa oletuksena kirjainkoolla merkitsevän haun. Kirjoita merkkijono "dakota" soluun B2 ja napsauta taulukon komentopainiketta.
Selitys: merkkijonoa "dakota" ei löydy (ensimmäistä kirjainta ei ole kirjoitettu isolla). Instr -funktio palauttaa 0. Tämän seurauksena Excel VBA sijoittaa merkkijonon "Not Found" soluun C2.
Jos haluat tehdä kirjainkoolla merkityksettömän haun, päivitä koodi seuraavasti:
Dim -tila merkkijonona, alimerkkijono merkkijonona
tila = alue ("A2"). Arvo
alimerkkijono = Alue ("B2"). Arvo
Jos InStr (1, tila, alimerkkijono, vbTextCompare)> 0 Sitten
Alue ("C2"). Arvo = "Löytynyt"
Muu
Alue ("C2"). Arvo = "Ei löydy"
Loppu Jos
Tulos, kun napsautat taulukon komentopainiketta:
Selitys: Edellä näkyvä Instr -funktio sisältää 4 argumenttia. Suorita kirjainkoon erottamaton haku määrittämällä aina aloituskohta (ensimmäinen argumentti) ja käyttämällä vbTextCompare (neljäs argumentti).