Instr en Excel VBA - Macros fáciles de Excel

Tabla de contenido

Función de instrucción simple | Posición inicial | Zero | Instr y If | Búsqueda que no distingue entre mayúsculas y minúsculas

Utilizar Instr en Excel VBA para encontrar la posición de una subcadena en una cadena. La función Instr es bastante versátil.

Coloque un botón de comando en su hoja de trabajo y agregue las líneas de código a continuación. Para ejecutar las líneas de código, haga clic en el botón de comando en la hoja.

Función de instrucción simple

De forma predeterminada, la función Instr comienza a buscar al principio de la cadena (posición 1).

Código:

Estado tenue como cadena
estado = "Virginia"
MsgBox InStr (estado, "gin")

Resultado:

Nota: la cadena "gin" se encuentra en la posición 4.

Posición de salida

La segunda función Instr a continuación comienza a buscar en la posición 7.

Código:

Estado tenue como cadena
state = "Carolina del Sur"
MsgBox InStr (estado, "o")
MsgBox InStr (7, estado, "o")

Resultado:

Explicación: la primera función Instr encuentra la cadena "o" en la posición 2. La segunda función Instr comienza a buscar en la posición 7 y encuentra la cadena "o" en la posición 10.

Cero

La función Instr devuelve 0 si no se encuentra la cadena (importante como veremos a continuación).

Código:

Estado tenue como cadena
estado = "Florida"
MsgBox InStr (estado, "nosotros")

Resultado:

Conclusión: no se encontró la cadena "nosotros".

Instr y If

Creemos un programa VBA simple que use el Función Instr.

Código:

Estado atenuado como cadena, subcadena como cadena
estado = Rango ("A2"). Valor
substring = Rango ("B2"). Valor
Si InStr (estado, subcadena)> 0 Entonces
Rango ("C2"). Valor = "Encontrado"
Demás
Rango ("C2"). Valor = "No encontrado"
Terminara si

Resultado al hacer clic en el botón de comando en la hoja:

Explicación: la cadena "outh" se encuentra en la posición 2. La función Instr devuelve 2. Como resultado, Excel VBA coloca la cadena "Found" en la celda C2.

Búsqueda que no distingue entre mayúsculas y minúsculas

De forma predeterminada, la función Instr realiza una búsqueda que distingue entre mayúsculas y minúsculas. Ingrese la cadena "dakota" en la celda B2 y haga clic en el botón de comando en la hoja.

Explicación: no se encontró la cadena "dakota" (la primera letra no está en mayúscula). La función Instr devuelve 0. Como resultado, Excel VBA coloca la cadena "No encontrado" en la celda C2.

Para realizar una búsqueda que no distingue entre mayúsculas y minúsculas, actualice el código de la siguiente manera:

Estado atenuado como cadena, subcadena como cadena
estado = Rango ("A2"). Valor
substring = Rango ("B2"). Valor
Si InStr (1, estado, subcadena, vbTextCompare)> 0 Entonces
Rango ("C2"). Valor = "Encontrado"
Demás
Rango ("C2"). Valor = "No encontrado"
Terminara si

Resultado al hacer clic en el botón de comando en la hoja:

Explicación: la función Instr que se muestra arriba tiene 4 argumentos. Para realizar una búsqueda que no distinga entre mayúsculas y minúsculas, siempre especifique una posición de inicio (primer argumento) y use vbTextCompare (cuarto argumento).

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave