Función derecha de VBA (ejemplos) - Guía paso a paso para Excel VBA a la derecha

Tabla de contenido

Función derecha en VBA Excel

La función derecha es la misma que en la función de hoja de trabajo y en VBA, el uso de esta función es que nos da la subcadena de una cadena dada, pero la búsqueda se realiza de derecha a izquierda de la cadena, este es un tipo de función de cadena en VBA utilizado con el método de función application.worksheet.

La función DERECHA en Excel VBA se utiliza para extraer caracteres del lado derecho de los valores de texto proporcionados. En Excel, tenemos muchas funciones de texto para manejar datos basados ​​en texto. Algunas de las funciones útiles son la función LEN, LEFT, RIGHT, MID para extraer caracteres de los valores de texto. El ejemplo común del uso de estas funciones es extraer el nombre y apellido por separado del nombre completo.

La fórmula CORRECTA también está en la hoja de trabajo. En VBA, necesitamos confiar en la clase de función de la hoja de trabajo para acceder a la función VBA DERECHA; más bien, también tenemos la función DERECHA incorporada en VBA.

Ahora eche un vistazo a la siguiente sintaxis de la fórmula VBA DERECHA.

  • Cadena: este es nuestro valor y, a partir de este valor, estamos tratando de extraer los caracteres del lado derecho de la cadena.
  • Longitud: de la cadena proporcionada , cuántos caracteres necesitamos. Si necesitamos cuatro caracteres del lado derecho, podemos proporcionar el argumento como 4.

Por ejemplo, si la cadena es "Teléfono móvil" y si queremos extraer solo la palabra "Teléfono", podemos proporcionar el argumento como se muestra a continuación.

DERECHA ("Teléfono móvil", 5)

La razón por la que mencioné 5 es porque la palabra "Teléfono" tiene 5 letras. En la siguiente sección del artículo, veremos cómo podemos usarlo en VBA.

Ejemplos de función derecha de Excel VBA

Los siguientes son ejemplos de la función derecha VBA Excel.

Ejemplo 1

Les mostraré un ejemplo sencillo para iniciar el trámite. Suponga que tiene la cadena "Nueva York" y, si desea extraer 3 caracteres de la derecha, siga los pasos a continuación para escribir el código.

Paso 1: declare la variable como cadena VBA.

Código:

Sub Right_Example1 () Dim k As String End Sub

Paso 2: Ahora, para esta variable, asignaremos el valor aplicando la función DERECHA.

Código:

Sub Right_Example1 () Dim k As String k = Right (End Sub

Paso 3: el primer argumento es String y nuestra cadena para este ejemplo es "Nueva York".

Código:

Sub Right_Example1 () Dim k As String k = Right ("Nueva York", End Sub

Paso 4: El siguiente paso es cuántos caracteres necesitamos de la cadena proporcionada. En este ejemplo, necesitamos 3 caracteres.

Código:

Sub Right_Example1 () Dim k As String k = Right ("Nueva York", 3) End Sub

Paso 5: Tenemos 2 argumentos con los que lidiar, así que hemos terminado. Ahora asigne el valor de esta variable en el cuadro de mensaje en VBA.

Código:

Sub Right_Example1 () Dim k As String k = Right ("Nueva York", 3) MsgBox k End Sub

Ejecute el código usando la tecla F5 o manualmente y vea el resultado en un cuadro de mensaje.

En la palabra "Nueva York" del lado derecho, 3 caracteres son "ork".

Ahora cambiaré la longitud de 3 a 4 para obtener el valor completo.

Código:

Sub Right_Example1 () Dim k As String k = Right ("Nueva York", 4) MsgBox k End Sub

Ejecute este código manualmente o con la tecla F5. Entonces, obtendremos "York".

Ejemplo # 2

Ahora eche un vistazo a un ejemplo más, esta vez considere el valor de cadena como "Michael Clarke".

Si proporciona la longitud como 6, obtendremos "Clarke" como resultado.

Código:

Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub

Ejecute este código usando la tecla F5 o manualmente para ver el resultado.

Función dinámica derecha en Excel VBA

Si observa nuestros dos ejemplos anteriores, hemos proporcionado los números de los argumentos de longitud manualmente. Pero este no es el proceso correcto para hacer el trabajo.

En cada una de las cadenas, los caracteres del lado derecho son diferentes en cada caso. No podemos referirnos a la longitud de los caracteres manualmente para cada valor de manera diferente. Aquí donde la otra función de cuerda "Instr" juega un papel vital.

La función Instr devuelve la posición del carácter proporcionado en el valor de cadena proporcionado. Por ejemplo, Instr (1, ”Bangalore,” a ”) devuelve la posición de la letra“ a ”en la cadena “ Bangalore ”a partir del primer (1) carácter.

En este caso, el resultado es 2 porque desde la posición del primer carácter de la letra “a” es la posición.

If I change the starting position from 1 to 3, it will return 5.

Instr (3,” Bangalore,” a”).

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of each string, we can use this. Once we find the space character position, we need to minus that from the total length of the string by using LEN.

For example, in the string “New York,” the total number of characters is 8, including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub

In the above code variable, “L” will return 14, and the variable “S” will return 8.

In the VBA right formula, I have applied L - S, i.e., 14-8 = 6. So from right side 6 characters, i.e., “Clarke.”

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells, we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

Sub Right_Example4 () Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len (Cells (a, 1) .Value) S = InStr (1, Cells (a, 1) ) .Value, "") Celdas (a, 2) .Valor = Derecha (Celdas (a, 1), L - S) Siguiente a End Sub

El resultado de este código es el siguiente.

Articulos interesantes...