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([start, ] string1, string2 [, compare ] )
Az InStr függvény szintaxisa az alábbi argumentumokat foglalja össze:
| 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 az indítás 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. Keresett sztringkifejezés. |
| összehasonlítás | Nem kötelező. A sztringek összehasonlításának típusát határozza meg. Ha a hasonlít argumentum értéke Null, hiba történik. Ha az összehasonlítás nincs megadva, az OptionCompare beállítás határozza meg az összehasonlítás típusát. Adjon meg érvényes LCID-t (LocaleID) a területi beállításokra vonatkozó szabályok összehasonlításban való használatához. |
Tipp:
A Kifejezésszerkesztő intelliSense-t használ, így láthatja, hogy a kifejezés milyen argumentumokat igényel.
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 függvény visszaadja |
|---|---|
| a karakterlánc1 nulla hosszúságú | 0 |
| string1 is Null | Null |
| a karakterlánc2 nulla hosszúságú | Elkezd |
| string2 is Null | Null |
| a karakterlánc2 nem található | 0 |
| a string2 a sztring1 karakterláncban található | A találat pozíciója |
| start > string2 | 0 |
Megjegyzések
Az InStrB függvény egy sztringben található bájtadatokkal használható. Ahelyett, hogy az egyik sztring első előfordulásának karakterpozícióját ad vissza egy másikban, az InStrB a bájtpozíciót adja vissza.
Példák
Az InStr függvény használata egy kifejezésbenAz InStr-et bárhol használhatja, ahol kifejezéseket használhat. Ha például egy IP-címeket (IPAddress nevű) tartalmazó mezőben meg szeretné keresni az első időszak (.) pozícióját, az InStr használatával megkeresheti azt a következőképpen:
InStr(1;[IPAddress];".")
Az InStr függvény megvizsgálja az IPAddress mező összes értékét, és visszaadja az első időszak 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ő más függvények használatával kinyerheti az IP-címnek az első időszak előtti részét, a következőképpen:
Left([IPAddress],(InStr(1,[IPAddress],".")-1))
Ebben a példában: InStr(1;[IPAddress],".") az első időszak pozícióját adja vissza. Az 1 kivonása azt határozza meg, hogy hány karakter előzi meg az első pontot, ebben az esetben a 2-t. A Left függvény ezután kinyeri ezt a sok karaktert az IPAddress mező bal oldali részéből, és visszaadja a 10 értéket.
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.
Ez a példa az InStr függvénnyel adja vissza az egyik sztring első előfordulásának pozícióját egy másikon belül.
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.