A karakterlánc másik karakterláncban történő első előfordulásának helyét tartalmazó Variant (hosszú) értéket ad eredményül.
Szintaxis
InStr([kezdet, ] karakterlánc1, karakterlánc2 [, hasonlít ] )
Az InStr függvény szintaxisa az alábbi argumentumokat foglalja magában:
| argumentumok | Leírás |
|---|---|
| kezdet | Nem kötelező. Numerikus kifejezés, mely az egyes keresések kezdőpozícióját határozza meg. Ha nincs megadva, a keresés az első karakter helyétől kezdődik. Ha a start Null értéket tartalmaz, hiba történik. Az indít argumentum kötelező, ha meg van adva a hasonlít argumentum is. |
| karakterlánc1 | Kötelező. A keresés helyeként szolgáló karakteres kifejezés. |
| karakterlánc2 | Kötelező megadni. A keresett karakterlánc. |
| összehasonlítás | Nem kötelező. Az összehasonlítani kívánt karakterlánc típusát határozza meg. Ha a hasonlít argumentum értéke Null, hiba történik. Ha a Compare paramétert nem adja meg, akkor az OptionCompare beállítás adja meg az összehasonlítás típusát. Adjon meg egy érvényes LCID-t (LocaleID), hogy területspecifikus szabályokat használhasson az összehasonlításban. |
Tipp:
A Kifejezésszerkesztő IntelliSense technológiával rendelkezik, így láthatja a kifejezéshez szükséges argumentumokat.
Beállítások
Az összehasonlítás argumentum beállításai:
| Állandó | Érték | Leírás: |
|---|---|---|
| vbUseCompareOption | -1 | Az Option Compare beállításnak megfelelő összehasonlítást hajt végre. |
| vbBinaryCompare | 0 | Bináris összehasonlítást hajt végre. |
| vbTextCompare | 1 | Szöveges összehasonlítást hajt végre. |
Visszatérési értékek
| Ha | Az InStr visszatérési értéke |
|---|---|
| A karakterlánc1 nulla hosszúságú | 0 |
| karakterlánc1 is Null | Null |
| karakterlánc2 nulla hosszúságú | Indítás |
| karakterlánc2 is Null | Null |
| karakterlánc2 nem található | 0 |
| A karakterlánc2 a karakterlánc1 karakterláncban található | A találat pozíciója |
| Karakterlánc2 kezdete > | 0 |
Megjegyzések
Az InStrB függvény karakterláncban lévő bájtadatokkal használatos. Az InStrB billentyű nem a karakterlánc másik karakteren belüli első előfordulásának karakterpozícióját adja vissza, hanem a bájtpozíciót.
Példák
Az InStr függvény használata kifejezésekbenAz InStr használható bárhol, ahol használhat kifejezéseket. Ha például egy IP-címeket tartalmazó (IP-címeket) tartalmazó mezőben az első periódus (.) pozícióját szeretné megkeresni, az InStr segítségével a következőképpen keresheti meg:
InStr(1;[IPAddress];".")
Az InStr függvény megvizsgálja az IPAddress mező minden értékét, és visszaadja az első periódus pozícióját. Ezért ha az IP-cím első része 10., a függvény a 3 értéket adja vissza.
Ezután az InStr függvény kimenetén működő egyéb függvényekkel kinyerheti az IP-címnek az első időszakot megelőző részét, például:
Left([IPAddress];(InStr(1;[IPAddress];".")-1))
Ebben a példában az InStr(1,[IPAddress],".") Az első periódus pozícióját adja eredményül. 1 kivonása határozza meg, hogy hány karakter előzi meg az első pontot (ebben az esetben 2). A Left függvény ezután kinyeri az IPAddress mező bal oldali karaktereinek számát, és a 10 értéket adja vissza.
Az InStr használata VBA-kódban
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát.
Ebben a példában az InStr függvény adja vissza egy karakterlánc másik karakterláncon belüli első előfordulásának pozícióját.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.
MyPos = Instr(1, SearchString, "W") ' Returns 0.