VBA Left-functie

Excel VBA links

VBA Left is ook een van de werkbladfuncties die zijn gecategoriseerd onder de tekstfuncties die in VBA met de applicatie worden gebruikt. werkblad, retourneert het het opgegeven aantal tekens vanaf het linkerdeel van de tekenreeks.

Sommige van de Excel-functies zijn ook geïntegreerd met VBA. Van alle vele tekstfuncties is VBA LEFT een van die functies die we vrij vaak gebruiken dan andere formules.

Als u de Excel LEFT-functie kent, dan is de VBA LEFT-functie precies hetzelfde. Het kan de karakters van de linkerkant van de string of waarde die door de gebruiker is gegeven extraheren.

De syntaxis van de LEFT-functie is exact hetzelfde als in de werkbladfunctie.

Het heeft twee argumenten.

  • String: dit is niets anders dan de waarde of celverwijzing. Van deze waarde proberen we de karakters te hakken.
  • Lengte: hoeveel tekens u wilt extraheren uit de string die u heeft opgegeven. Dit moet een numerieke waarde zijn.

Hoe Excel VBA Left-functie te gebruiken?

U kunt deze VBA Left Function Template hier downloaden - VBA Left Function Template

Voorbeeld 1

Stel dat je een woord "Sachin Tendulkar" hebt en je wilt alleen de eerste 6 karakters van dit woord. We zullen laten zien hoe je van links kunt extraheren met de LEFT-functie in VBA.

Stap 1: Maak een macronaam en definieer de variabele als String.

Code:

 Sub Left_Example1 () Dim MyValue As String End Sub 

Stap 2: Wijs nu een waarde toe aan deze variabele

Code:

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

Stap 3: Open de LEFT-functie.

Code:

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

Stap 4: Het eerste argument is om te vertellen wat de string of waarde is. Onze waarde hier is "Sachin Tendulkar".

Code:

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

Stap 5: Lengte is niets anders dan het aantal tekens dat we van links nodig hebben. We hebben 6 karakters nodig.

Code:

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

Stap 6: Toon de waarde in de VBA MsgBox.

Code:

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

Stap 7: Voer de macro uit met behulp van de F5-toets of handmatig via een run-optie om het resultaat in een berichtvenster te krijgen.

Uitgang:

In plaats van het resultaat in een berichtvenster te tonen, kunnen we dit resultaat opslaan in een van de cellen in ons Excel-werkblad. We hoeven alleen de celverwijzing en variabele waarde toe te voegen.

Code:

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

Als u deze code nu uitvoert, krijgen we de waarde in cel A1.

Voorbeeld # 2 - LINKS met andere functies

In het bovenstaande geval hebben we de lengte van de karakters die we nodig hebben direct vanuit de linker richting opgegeven, maar dit is geschikter voor één of twee waarden. Stel dat hieronder de lijst met waarden is die u in uw Excel-blad hebt.

In elk geval verschillen de tekens van de voornaam van de een tot de ander, we kunnen niet direct het aantal tekens specificeren dat we nodig hebben voor elke naam.

Dit is waar de schoonheid van andere functies in beeld komt. Om het aantal karakters dynamisch aan te geven, kunnen we de functie “VBA Instr” gebruiken.

In de bovenstaande reeks namen hebben we alle tekens van links nodig totdat we het spatie-teken bereiken. Dus de Instr-functie kan die vele tekens retourneren.

Stap 1: Start op dezelfde manier een Excel-macronaam en definieer een variabele als een tekenreeks.

Code:

 Sub Left_Example2 () Dim FirstName As String End Sub 

Stap 2: Wijs de waarde toe aan de variabele met de LEFT-functie.

Code:

 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.