Este tutorial demostrará cómo usar la función Right VBA para extraer texto de la derecha.
Función derecha
Función derecha de VBA Últimos n caracteres
La función VBA Right devuelve los últimos n caracteres de una cadena:
123456 | Sub RightExample_1 ()MsgBox Right ("ABCDEFGHI", 4) 'El resultado es: "FGHI"MsgBox Right ("ABCDEFGHI", 2) 'El resultado es: "HI"MsgBox Right ("ABCDEFGHI", 1) 'El resultado es: "I"MsgBox Right ("ABCDEFGHI", 100) 'El resultado es: "ABCDEFGHI"End Sub |
Función derecha de VBA Últimos n caracteres en una variable
Como se muestra arriba, puede definir una cadena simplemente ingresando texto entre comillas. Pero la función DERECHA también funcionará con variables de cadena. Estos ejemplos extraerán los últimos n caracteres de una variable de cadena.
123456789 | Sub RightExample_2 ()Dim StrEx As String 'Definir una variable de cadenaStrEx = "ABCDEFGHI"MsgBox Right (StrEx, 4) 'El resultado es: "FGHI"MsgBox Right (StrEx, 2) 'El resultado es: "HI"MsgBox Right (StrEx, 1) 'El resultado es: "I"MsgBox Right (StrEx, 100) 'El resultado es: "ABCDEFGHI"End Sub |
Programación VBA | ¡Code Generator funciona para usted!
Función derecha de VBA Últimos n caracteres de una celda
Las cadenas se pueden definir en código VBA, pero también puede usar valores de celdas. Lea el valor de una celda, manténgalo en una variable de cadena y extraiga los últimos n caracteres de ese valor de celda de la hoja de trabajo.
123456789101112 | Sub RightExample_3 ()Dim StrEx As String 'Definir una variable de cadena'Lea el valor de la celda A1 en la hoja de trabajo Hoja1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A1"). Value'Para este ejemplo, el valor de la celda A1 es "ABCDEFG hI"MsgBox Right (StrEx, 4) 'El resultado es: "G hI"MsgBox Right (StrEx, 2) 'El resultado es: "hI"MsgBox Right (StrEx, 1) 'El resultado es: "I"MsgBox Right (StrEx, 100) 'El resultado es: "ABCDEFG hI"End Sub |
Función derecha de VBA Recortar la primera letra
Para eliminar letras del comienzo de una cadena, use la función DERECHA junto con la función LEN.
La función VBA LEN cuenta el número de caracteres en una cadena:
1 | Len (StrEx) |
Combinando las funciones, podemos eliminar una cierta cantidad de caracteres del inicio de la cadena:
12345678 | Sub RightExample_4 ()Dim StrEx As String 'Definir una variable de cadenaStrEx = "ABCDEF"MsgBox Right (StrEx, Len (StrEx)) 'El resultado es: "ABCDEF"MsgBox Right (StrEx, Len (StrEx) - 1) 'El resultado es: "BCDEF"MsgBox Right (StrEx, Len (StrEx) - 2) 'El resultado es: "CDEF"End Sub |
Derecho de VBA para extraer texto después del espacio
Para extraer el apellido de una cadena con un nombre completo, use la Función Derecha junto con la Función Len e Instr.
La función VBA LEN cuenta el número de caracteres en una cadena:
1 | Len (StrEx) |
La función VBA InStr busca una subcadena dentro de una cadena y devuelve el número de posición de la subcadena.
1 | InStr (StrEx, "") |
Combinando las funciones, podemos extraer la parte después del primer espacio de una frase:
123456789101112131415 | Sub RightExample_5 ()Dim StrEx As String 'Definir una variable de cadenaStrEx = "Luke Skywalker"MsgBox Derecha (StrEx, Len (StrEx) - InStr (StrEx, ""))'El resultado es: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Derecha (StrEx, Len (StrEx) - InStr (StrEx, ""))'El resultado es: "da Vinci"StrEx = "Que la Fuerza te acompañe"MsgBox Derecha (StrEx, Len (StrEx) - InStr (StrEx, ""))El resultado es: "la Fuerza te acompañe"End Sub |
¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!
Derecho de VBA a extraer la última palabra
Para extraer la última palabra de una cadena con una frase, use la Función Derecha junto con la Función Len e InstrRev.
Como hemos visto anteriormente, la función VBA LEN cuenta el número de caracteres en una cadena:
1 | Len (StrEx) |
La función VBA InStrRev busca una subcadena dentro de una cadena y devuelve el número de posición de la subcadena. Inicia la búsqueda desde el final de la frase (de derecha a izquierda) pero devuelve la posición desde el principio de la cadena (de izquierda a derecha).
1 | InStrRev (StrEx, "") |
Combinando las funciones, podemos extraer la parte después del último espacio de una frase:
123456789101112131415 | Sub RightExample_6 ()Dim StrEx As String 'Definir una variable de cadenaStrEx = "Luke Skywalker"MsgBox Derecha (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'El resultado es: "Skywalker"StrEx = "Leonardo da Vinci"MsgBox Derecha (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'El resultado es: "da Vinci"StrEx = "Que la Fuerza te acompañe"MsgBox Derecha (StrEx, Len (StrEx) - InStrRev (StrEx, ""))'El resultado es: "usted"End Sub |