Función InStr

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

Nota

¿Le interesa el desarrollo de soluciones que amplían la experiencia de Office en varias plataformas? Vea el nuevo modelo de complementos de Office. Los complementos de Office tienen una huella pequeña en comparación con los complementos y soluciones de VSTO, y se pueden construir utilizando casi cualquier tecnología de programación web, como HTML5, JavaScript, CSS3 y XML.

Sintaxis

InStr([ start ], string1, string2, [ compare ])

La sintaxis de la función InStr consta de los argumentos con nombre siguientes:

Parte Descripción
start Opcional. Expresión numérica que define la posición inicial de cada búsqueda. Si se omite, la búsqueda comienza en la posición del primer carácter. Si start contiene Null, se produce un error. Se requiere el argumento start si se especifica compare.
string1 Obligatorio. Expresión de cadena en la que se busca.
string2 Obligatorio. Expresión de cadena buscada.
compare Opcional. Especifica el tipo de comparación de cadena. Si compare es Null, se produce un error. Si compare se omite, la configuración Option Compare determina el tipo de comparación. Especifique un LCID (identificador de configuración regional) válido para usar reglas específicas de la configuración regional en la comparación.

Configuración

La configuración del argumento compare es la siguiente.

Constante Valor Descripción
vbUseCompareOption -1 Realiza una comparación con la configuración de la instrucción Option Compare.
vbBinaryCompare 0 Lleva a cabo una comparación binaria.
vbTextCompare 1 Lleva a cabo una comparación textual.
vbDatabaseCompare 2 Solo Microsoft Access. Realiza una comparación que se basa en la información de la base de datos.

Valores devueltos

Si InStr devuelve
string1 es de longitud cero 0
string1 es Null Null
string2 es de longitud cero start
string2 es Null Null
string2 no se encuentra. 0
string2 se encuentra dentro de string1 Posición en la que se encuentra la coincidencia
start > string2 0

Observaciones

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

Ejemplo

En este ejemplo, se usa la función InStr para devolver la posición de la primera ocurrencia 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.

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.