Devuelve un valor de tipo Variant (Long) que especifica la posición de la primera aparición de una cadena dentro de otra.

Ver algunos ejemplos

Sintaxis

InStr ([inicio, ] cadena1, cadena2 [, comparar ] )

La sintaxis de la función InStr tiene estos argumentos:

argumento

Descripción

iniciar

Opcional. Expresión numérica que establece la posición inicial de cada búsqueda. Si se omite, la búsqueda comienza en la posición del primer carácter. Si inicio contiene Null, se produce un error. El argumento inicio es necesario si se especifica comparar.

cadena1

Obligatorio. Expresión de cadena que se busca.

cadena2

Obligatorio. Expresión de cadena buscada.

comparar

Opcional. Especifica el tipo de comparación de cadena. Si comparar es Null, se producirá un error. Si se omite comparar, la opción Comparar determina el tipo de comparación. Especifique un LCID (LocaleID) válido para usar reglas específicas de la configuración regional en la comparación.

Sugerencia:  En Access 2010, el Generador de expresiones IntelliSense, por lo que puede ver qué argumentos necesita la expresión. 

Configuración

La configuración del argumento comparar es:

Constante

Valor

Descripción

vbUseCompareOption

-1

Realiza una comparación con la configuración de la instrucción Option Compare.

vbBinaryCompare

0

Realiza una comparación binaria.

vbTextCompare

1

Realiza una comparación textual.

vbDatabaseCompare

2

Microsoft Office Access 2007 solo. Realiza una comparación basada en la información de la base de datos.


Devolver valores

Si

InStr devuelve

cadena1 es de longitud cero

0

string1 es Null

Nulo

cadena2 es de longitud cero

iniciar

string2 es Null

Nulo

cadena2 no se encuentra

0

cadena2 se encuentra dentro de string1

Posición en la que se encuentra la coincidencia

iniciar > cadena2

0


Observaciones

La función InStrB se usa con datos de bytes contenidos en una cadena. En lugar de devolver la posición del carácter de la primera repetición de una cadena dentro de otra, InStrB devuelve la posición de byte.

Ejemplos

Usar la función InStr en una expresión    Puede usar InStr donde quiera que pueda usar expresiones. Por ejemplo, si desea encontrar la posición del primer punto (.) en un campo que contiene direcciones IP (denominadas IPAddress), puede usar InStr para encontrarlo, así:

InStr(1,[IPAddress],"").

La función InStr examina cada valor del campo IPAddress y devuelve la posición del primer período. Por lo tanto, si la primera parte de la dirección IP es 10., la función devuelve el valor 3.

A continuación, puede usar otras funciones, que funcionan en el resultado de la función InStr, para extraer la parte de la dirección IP que precede al primer período, de este modo:

Left([IPAddress],(InStr(1,[IPAddress],""). -1))

En este ejemplo, InStr(1,[IPAddress],""). devuelve la posición del primer período. Restar 1 determina cuántos caracteres preceden al primer período, en este caso, 2. A continuación, la función Izquierda extrae muchos caracteres de la parte izquierda del campo IPAddress y devuelve el valor 10.

Usar InStr en código VBA    

Nota: Los ejemplos siguientes muestran el uso de esta función en un módulo Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia para desarrolladores en la lista desplegable junto a Buscar y escriba uno o más términos en el cuadro de búsqueda.

En este ejemplo se usa la función InStr para devolver la posición de la primera repetición de una cadena dentro de otra.

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.

Funciones de cadena y cómo usarlas

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Office Usuarios de Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×