Función VBA InStrRev

Conocer la aparición de una cadena en otra cadena puede ser muy útil mientras se trabaja con datos del día a día. Obviamente, podemos hacerlo manualmente calculando la aparición de la cadena en otra cadena, pero eso sería una tarea muy pesada. Entonces, para facilitarlo, tenemos una función en VBA que se conoce como INSTRREV, que se utiliza para encontrar la ocurrencia.

Como se explicó anteriormente, INSTRREV en Excel VBA se usa para encontrar una aparición de una cadena en otra cadena. Esta función encuentra la primera aparición de una cadena en la cadena de destino y devuelve el valor. Ahora tenemos que recordar que, dado que da la aparición de la cadena, el valor devuelto es numérico. Además, como es una función de comparación, al igual que otras funciones en VBA, existen tres métodos básicos de comparación.

Sintaxis de InStrRev en Excel VBA

La sintaxis para la función VBA InStrRev en Excel es la siguiente:

Ahora analicemos la sintaxis y aprendamos sobre ella, String es la cadena principal desde donde queremos encontrar la aparición de una subcadena, Start es la aparición numérica que proporcionamos a la cadena. Si no se proporciona ningún parámetro de inicio, la función comienza a buscar una cadena desde el final. Y comparar es el método de comparación que proporcionamos a la función. Hay tres tipos de comparación para esta función:

  1. Para usar la opción Comparar, que es (-1). También se conoce como VbUseCompareOption.
  2. Para usar Binary Compare, que es (0). También se conoce como VbBinaryCompare.
  3. Para usar Text Compare, que es (1). También se conoce como VbTextCompare.

Nuevamente, si no se proporciona ninguna de las opciones de comparación, la función la considera automáticamente como una comparación binaria.

Ahora usemos esta función en algunos ejemplos y veamos cómo usar esta función.

¿Cómo utilizar Excel VBA InStrRev?

Ahora intentemos con algunos ejemplos en VBA InStrRev en Excel.

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

Ejemplo # 1 - VBA InStrRev

Tomemos como ejemplo que nuestra cadena es "Soy un buen chico" y encontremos la aparición del carácter "" que es el espacio.

Paso 1: Ahora, antes de pasar a VBA, primero habilite VBA y luego vaya a la sección de código en la sección del desarrollador para hacer clic en Visual Basic.

Paso 2: Una vez que ingresamos al editor VB que podemos ver en la sección del encabezado, hay una opción de inserción. Inserte un nuevo módulo desde esa opción como se muestra a continuación.

Paso 3: Ahora comencemos nuestro subprocedimiento en el módulo como se muestra a continuación.

Código:

 Sub muestra () End Sub 

Paso 4: Ahora declare una variable como un entero que contendrá el valor de salida de la función para nosotros.

Código:

 Submuestra () Dim A como número entero Sub final 

Paso 5: Ahora, en la variable, use la función INSTRREV para encontrar la aparición de "" en la cadena "Soy un buen chico" de la siguiente manera.

Código:

 Submuestra () Dim A como entero A = InStrRev ("I am a Good Boy", "") End Sub 

Paso 6: Ahora visualice el valor almacenado en la variable A usando la función msgbox.

Código:

 Submuestra () Dim A como entero A = InStrRev ("I am a Good Boy", "") MsgBox A End Sub 

Paso 7: Ejecutemos el código anterior para obtener el siguiente resultado.

Obtenemos el resultado como 13 porque no proporcionamos la posición de inicio a la función, por lo que calculó automáticamente la ocurrencia desde el final y, por lo tanto, el resultado. Se encuentra que "" está en la posición 13 de la cadena cuando la buscamos desde el final.

Ejemplo # 2 - VBA InStrRev

En el ejemplo anterior, no proporcionamos ninguna posición de inicio a la cadena. Proporcionemos este tiempo en este ejemplo. Averigüemos desde la segunda posición dónde aparece el "" en la cadena.

Paso 1: inserte un nuevo módulo desde esa opción como se muestra a continuación.

Paso 2: definamos nuevamente un subprocedimiento para nuestro segundo ejemplo.

Código:

 Sub Sample1 () End Sub 

Paso 3: declare otra variable entera para el ejemplo.

Código:

 Sub Sample1 () Dim A como número entero Sub Sub 

Paso 4: Ahora en la Variable A, encontremos la aparición del "" desde la segunda posición utilizando la función INSTRREV de la siguiente manera.

Código:

 Sub Sample1 () Dim A como entero A = InStrRev ("I a a Good Boy", "", 2) End Sub 

Paso 5: Ahora use la función msgbox para mostrar el valor almacenado en A.

Código:

 Sub Sample1 () Dim A como número entero A = InStrRev ("I a a Good Boy", "", 2) MsgBox A End Sub 

Paso 6: Ahora ejecute el código anterior para encontrar el resultado a continuación como se muestra a continuación,

Obtenemos 1 como resultado, mientras contamos 2 obtenemos I y después de una posición obtenemos la aparición de "".

Ejemplo # 3 - VBA InStrRev

En este ejemplo, usemos los métodos de comparación. Tenemos una cadena "India es la mejor" y vamos a encontrar la cadena "E" utilizando métodos de comparación de texto y binarios.

Paso 1: en el mismo módulo 1, escriba otro subprocedimiento, por ejemplo 3.

Código:

 Sub Sample2 () End Sub 

Paso 2: definamos dos variables como Integer que contendrán el valor para la aparición de la cadena E en la comparación de Texto y Binario respectivamente.

Código:

 Sub Sample2 () Dim A, B Como número entero Sub Sub 

Paso 3: En la variable A, usemos la función INSTRREV con la comparación de texto de la siguiente manera.

Código:

 Sub Sample2 () Dim A, B Como entero A = InStrRev ("India es el mejor", "E",, vbTextCompare) End Sub 

Paso 4: Ahora muestre el valor almacenado en A usando la función msgbox.

Código:

 Sub Sample2 () Dim A, B Como entero A = InStrRev ("India es el mejor", "E",, vbTextCompare) MsgBox A End Sub 

Paso 5: En la variable B, usemos la comparación binaria para la misma cadena de la siguiente manera.

Código:

 Sub Sample2 () Dim A, B Como entero A = InStrRev ("India es la mejor", "E",, vbTextCompare) MsgBox AB = InStrRev ("India es la mejor", "E",, vbBinaryCompare) MsgBox B End Sub 

Paso 6: Ejecute el código anterior para encontrar el primer resultado almacenado en la variable A, que es el siguiente.

Paso 7: Presione OK para ver el resultado almacenado en la variable B.

Obtenemos 0 como resultado de la comparación binaria porque en nuestra cadena "e" está presente, no "E". En valores binarios, ambos son diferentes. Entonces, si no se encuentra un valor en la cadena, obtenemos un resultado como 0.

Cosas para recordar

  • El valor devuelto por esta función es numérico.
  • Si no se encuentra la subcadena, el valor devuelto es 0.
  • La posición de inicio es opcional. Si no se proporciona, la función predeterminada busca la aparición desde el final de la cadena.
  • Los métodos de comparación también son opcionales.

Artículos recomendados

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

  1. Trabajando con VBA Active Cell
  2. Eliminar una fila en VBA
  3. ¿Cómo utilizar Excel VBA Transpose?
  4. Cómo reparar el error 1004 usando VBA

Categoría: