Función izquierda de VBA

Excel VBA izquierda

VBA Left es también una de las funciones de la hoja de trabajo categorizadas bajo las funciones de texto que se usa en VBA con la aplicación. método de hoja de trabajo, devuelve el número especificado de caracteres de la parte izquierda de la cadena.

Algunas de las funciones de Excel también están integradas con VBA. De todas las muchas funciones de texto, VBA LEFT es una de esas funciones que usamos con bastante frecuencia que otras fórmulas.

Si conoce la función Excel IZQUIERDA, entonces la función VBA IZQUIERDA es exactamente la misma. Puede extraer los caracteres del lado izquierdo de la cadena o valor dado por el usuario.

La sintaxis de la función IZQUIERDA es exactamente la misma que en la función de la hoja de trabajo.

Tiene dos argumentos.

  • Cadena: esto no es más que el valor o la referencia de celda. A partir de este valor, buscamos cortar los personajes.
  • Longitud: cuántos caracteres desea extraer de la cadena que ha proporcionado. Debe ser un valor numérico.

¿Cómo usar la función izquierda de Excel VBA?

Puede descargar esta plantilla de función izquierda de VBA aquí - Plantilla de función izquierda de VBA

Ejemplo 1

Suponga que tiene una palabra "Sachin Tendulkar" y desea solo los primeros 6 caracteres de esta palabra. Mostraremos cómo extraer desde la izquierda usando la función IZQUIERDA en VBA.

Paso 1: cree un nombre de macro y defina la variable como cadena.

Código:

 Sub Left_Example1 () Dim MyValue As String End Sub 

Paso 2: ahora asigne un valor a esta variable

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = End Sub 

Paso 3: Abra la función IZQUIERDA.

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = Left (End Sub 

Paso 4: El primer argumento es decir cuál es la cadena o el valor. Nuestro valor aquí es "Sachin Tendulkar".

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = Left ("Sachin Tendulkar", End Sub 

Paso 5: La longitud no es más que la cantidad de caracteres que necesitamos de la izquierda. Necesitamos 6 caracteres.

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = Left ("Sachin Tendulkar", 6) End Sub 

Paso 6: muestra el valor en VBA MsgBox.

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = Left ("Sachin Tendulkar", 6) MsgBox MyValue End Sub 

Paso 7: Ejecute la macro con la tecla F5 o manualmente a través de una opción de ejecución para obtener el resultado en un cuadro de mensaje.

Salida:

En lugar de mostrar el resultado en un cuadro de mensaje, podemos almacenar este resultado en una de las celdas de nuestra hoja de cálculo de Excel. Solo necesitamos agregar la referencia de celda y el valor de la variable.

Código:

 Sub Left_Example1 () Dim MyValue As String MyValue = Left ("Sachin Tendulkar", 6) Rango ("A1"). Value = MyValue End Sub 

Ahora, si ejecuta este código, obtendremos el valor en la celda A1.

Ejemplo # 2 - IZQUIERDA con otras funciones

En el caso anterior, hemos proporcionado directamente la longitud de los caracteres que necesitamos desde la dirección izquierda, pero esto es más adecuado para uno o dos valores. Suponga que a continuación está la lista de valores que tiene en su hoja de Excel.

En cada caso, los caracteres del nombre son diferentes entre sí, no podemos especificar directamente la cantidad de caracteres que necesitamos de cada nombre.

Aquí es donde la belleza de otras funciones entrará en escena. Para suministrar el número de caracteres de forma dinámica, podemos utilizar la función "VBA Instr".

En el conjunto de nombres anterior, necesitamos todos los caracteres de la izquierda hasta llegar al carácter de espacio. Entonces, la función Instr puede devolver esos muchos caracteres.

Paso 1: De manera similar, inicie un nombre de macro de Excel y defina una variable como una cadena.

Código:

 Sub Left_Example2 () Dim FirstName As String End Sub 

Paso 2: Asignar el valor a la variable mediante la función IZQUIERDA.

Código:

 Sub Left_Example2 () Dim FirstName As String FirstName = Left (End Sub 

Step 3: Here we need to refer the cell to get the value from the cells. So write the code as CELLE (2,1).Value.

Code:

 Sub Left_Example2() Dim FirstName As String FirstName = Left(Cells(2,1).Value, End Sub 

Step 4: The next thing is how many characters we need. After applying the LEFT function don’t enter the length of the characters manually, Apply the Instr function.

Code:

 Sub Left_Example2() Dim FirstName As String FirstName = Left(Cells(2, 1).Value, InStr(1, Cells(2, 1).Value, " ")) End Sub 

Step 5: Store this result in the B2 cell. So the code is CELLS (2,2).value = FirstName

Code:

 Sub Left_Example2() Dim FirstName As String FirstName = Left(Cells(2, 1).Value, InStr(1, Cells(2, 1).Value, " ")) Cells(2, 2).Value = FirstName End Sub 

Step 6: Run this code manually or through F5 we will get the first name.

We got the first name for the one name, but we have several other names as well. We cannot write 100 lines of code to extract, then how do we extract?

This is where the beauty of loops comes into the picture. Below is the loop code which can eliminate all the unwanted steps and can do the job in 3 lines.

Code:

 Sub Left_Example2() Dim FirstName As String Dim  i As Integer For i = 2 To 9 FirstName = Left(Cells(i, 1).Value, InStr(1, Cells(i, 1).Value, " ") - 1) Cells(i, 2).Value = FirstName Next i End Sub 

Note: Instr function returns space character as well, so we need to minus 1 from the Instr result.

If you run this code we will get first name values.

Output:

Things to Remember

  • Left can extract only from left.
  • VBA Instr function finds the position of the supplied in character in the string.