Função VBA Esquerda

Excel VBA à esquerda

O VBA à esquerda também é uma das funções de planilha categorizadas nas funções de texto usadas no VBA com o aplicativo. método de planilha, ele retorna o número especificado de caracteres da parte esquerda da string.

Algumas das funções do Excel também estão integradas ao VBA. De todas as funções de texto, VBA LEFT é uma das funções que usamos com bastante frequência do que outras fórmulas.

Se você conhece a função ESQUERDA do Excel, a função ESQUERDA do VBA é exatamente a mesma. Ele pode extrair os caracteres do lado esquerdo da string ou do valor fornecido pelo usuário.

A sintaxe da função LEFT é exatamente a mesma da função de planilha.

Tem dois argumentos.

  • String: Nada além do valor ou referência da célula. A partir desse valor, estamos procurando dividir os personagens.
  • Comprimento: quantos caracteres você deseja extrair da string fornecida. Este deve ser um valor numérico.

Como usar a função esquerda do Excel VBA?

Você pode baixar este modelo de função esquerda do VBA aqui - modelo de função esquerda do VBA

Exemplo 1

Suponha que você tenha uma palavra “Sachin Tendulkar” e queira apenas os primeiros 6 caracteres dessa palavra. Mostraremos como extrair da esquerda usando a função LEFT no VBA.

Etapa 1: Crie um nome de macro e defina a variável como String.

Código:

 Sub Left_Example1 () Dim MyValue As String End Sub 

Etapa 2: Agora atribua um valor a esta variável

Código:

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

Passo 3: Abra a função LEFT.

Código:

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

Etapa 4: O primeiro argumento é dizer qual é a string ou valor. Nosso valor aqui é “Sachin Tendulkar”.

Código:

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

Etapa 5: o comprimento nada mais é do que quantos caracteres precisamos a partir da esquerda. Precisamos de 6 personagens.

Código:

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

Etapa 6: Mostrar o valor na MsgBox do VBA.

Código:

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

Etapa 7: execute a macro usando a tecla F5 ou manualmente por meio de uma opção de execução para obter o resultado em uma caixa de mensagem.

Resultado:

Em vez de mostrar o resultado em uma caixa de mensagem, podemos armazenar esse resultado em uma das células em nossa planilha do Excel. Precisamos apenas adicionar a referência da célula e o valor da variável.

Código:

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

Agora, se você executar este código, obteremos o valor na célula A1.

Exemplo # 2 - ESQUERDA com outras funções

No caso acima, fornecemos diretamente o comprimento dos caracteres de que precisamos da direção esquerda, mas isso é mais adequado para um ou dois valores. Suponha que a seguir está a lista de valores que você tem em sua planilha do Excel.

Em cada caso, os caracteres do primeiro nome são diferentes um para o outro, não podemos especificar diretamente o número de caracteres que precisamos de cada nome.

É aqui que a beleza de outras funções entrará em cena. Para fornecer o número de caracteres dinamicamente, podemos usar a função “VBA Instr”.

No conjunto de nomes acima, precisamos de todos os caracteres da esquerda até chegarmos ao caractere de espaço. Portanto, a função Instr pode retornar esses muitos caracteres.

Etapa 1: da mesma forma, inicie um nome de macro do Excel e defina uma variável como string.

Código:

 Sub Left_Example2 () Dim FirstName As String End Sub 

Etapa 2: atribua o valor à variável por meio da função ESQUERDA.

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.