Función VBA InStr

En VBA tenemos una función llamada Función InStr que se usa para devolver la posición de la primera aparición de una subcadena en una cadena. Lo que significa, por ejemplo, que tenemos un nombre llamado "Jhon" y tenemos que encontrar la ocurrencia de la posición del alfabeto H en la cadena. Para esto se utiliza la función.

Fórmula para la función InStr en Excel VBA

La función Excel VBA InStr tiene la siguiente sintaxis:

En la sintaxis, Iniciar y comparar son opcionales, mientras que se requieren valores de cadena y subcadena. Una cadena es una cadena donde queremos encontrar nuestra subcadena y la subcadena es el valor que se requiere encontrar en la cadena. Supongamos que si tuviéramos que usar la sintaxis anterior en nuestro ejemplo de Jhon sobre el código VBA sería el siguiente,

Instr ("Jhon", "H") y el resultado sería 2 ya que la posición del alfabeto H es 2 en la cadena.

Ahora nos movemos hacia las partes opcionales de la sintaxis que son, comenzar y comparar. El inicio es la posición de la cadena desde donde queremos comenzar la búsqueda, mientras que comparar es de tres tipos,

  1. VbUseCompareOption: (-1) Se utiliza para comparar opciones.
  2. VbBinaryCompare: (0) Se usa para comparar binarios.
  3. VbTextCompare: (1) Se utiliza para la comparación textual.

Pero necesitamos una variable para almacenar el valor del resultado. Como el valor es un entero, la variable definida también debería ser un entero. Ahora, si hemos calculado el valor, también necesitamos mostrar el resultado, usamos la función msgbox para mostrar el resultado.

¿Cómo utilizar la función Excel VBA InStr?

Aprenderemos cómo usar una función VBA InStr Excel con algunos ejemplos.

Puede descargar esta plantilla VBA InStr Excel aquí - Plantilla VBA InStr Excel

Función VBA InStr - Ejemplo # 1

En la explicación anterior, usé la palabra Jhon como una cadena y quería encontrar la posición de H en la cadena. Escribiré el código para el mismo en VBA y usaré la función Instr para encontrar la posición de J en la cadena.

Siga los pasos a continuación para usar la función InStr en VBA.

Paso 1: en la pestaña Desarrollador, haga clic en Visual Basic para abrir el Editor VB.

Paso 2: Una vez que el módulo está abierto, declare una subfunción para comenzar a escribir el código.

Código:

 Sub Comparar () Fin Sub 

Paso 3: Ahora se declara la función. Necesitamos declarar una variable para almacenar la posición de la subcadena.

Código:

 Sub Compare () Dim Pos As Integer End Sub 

Paso 4: Ahora escribimos la función InStr para averiguar la posición de nuestra subcadena.

Código:

 Sub Compare () Dim Pos como número entero Pos = InStr ("Jhon", "J") End Sub 

Paso 5: para devolver la posición de la subcadena como valor, utilizamos la función MsgBox y cerramos la subfunción.

Código:

 Sub Compare () Dim Pos como número entero Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Paso 6: Si ejecutamos el código, muestra la posición del alfabeto J en la cadena.

Paso 7: Si cambiamos la subcadena para verificar que el código se está ejecutando correctamente, busquemos el alfabeto n en la cadena.

Código:

 Sub Comparar () Dim Pos como número entero Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Paso 8: Ahora, si ejecutamos el código, podemos ver la posición del alfabeto n en la cadena.

Función VBA InStr - Ejemplo # 2

Ahora que hemos visto lo que hacen los argumentos requeridos de la función, ahora usemos los opcionales. La cadena es "Soy un buen chico pero no un buen corredor". Encontraremos la subcadena "Bueno" de la cadena pero ignoraremos el primer Bien de la oración.

Siga los pasos a continuación para usar la función InStr en VBA.

Paso 1: abra el editor VB desde la pestaña de desarrolladores haciendo clic en Visual Basic.

Paso 2: Comience declarando una subfunción.

Código:

 Sub Compare1 () End Sub 

Paso 3: Ahora declare una variable para almacenar la posición de la subcadena.

Código:

 Sub Compare1 () Dim Pos1 As Integer End Sub 

Paso 4: Ahora usaremos la función InStr para encontrar la posición de la cadena.

Código:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "Soy un buen chico pero un buen corredor", "Good", vbBinaryCompare) End Sub 

Paso 5: Ahora usamos la función Msgbox para devolver el valor de la cadena.

Código:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, "Soy un buen chico pero un buen corredor", "Good", vbBinaryCompare) MsgBox Pos End Sub 

Paso 6: Ahora, si ejecutamos el código, podemos obtener la posición de la subcadena.

Explicación de la función Excel VBA Instr

La función InStr en VBA se utiliza para devolver la posición del valor de la subcadena en una cadena. ¿Qué sucede si no se encuentra el valor? Si el valor no se encuentra en la cadena, el resultado mostrado es cero.

Una cosa que siempre debemos recordar es que la función Instr distingue entre mayúsculas y minúsculas. Para probar esto, pasamos al ejemplo 1, donde utilizamos la función instr para buscar un alfabeto.

¿Qué sucede si la subcadena es "N" en lugar de "n"? vamos a averiguarlo He cambiado el caso del alfabeto en la cadena.

Ahora si ejecuto el código obtendré el resultado como se muestra a continuación.

Esto demuestra que la función instr distingue entre mayúsculas y minúsculas.

Cosas para recordar

  • Los dos campos obligatorios son Cadena y Subcadena.
  • La función Instr distingue entre mayúsculas y minúsculas.
  • El valor de la función InStr es un entero.

Artículos recomendados

Esta ha sido una guía para la función VBA InStr. Aquí discutimos cómo usar la función Excel VBA InStr junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Función VBAOKUP VBA
  2. Función de interruptor de Excel
  3. Guía completa de VBA en caso de error
  4. Usos de la barra de desplazamiento en Excel

Categoría: