VBA vänster funktion

Excel VBA vänster

VBA Left är också en av kalkylfunktionerna kategoriserade under de textfunktioner som används i VBA med applikationen. kalkylmetod returnerar det angivna antalet tecken från den vänstra delen av strängen.

Några av excelfunktionerna är också integrerade med VBA. Av alla de många textfunktionerna är VBA VÄNSTER en av de funktioner vi använder ganska ofta än andra formler.

Om du känner till excel LEFT-funktion är VBA LEFT-funktionen exakt densamma. Det kan extrahera tecknen från vänster sida av strängen eller värdet som ges av användaren.

Syntaxen för VÄNSTER-funktionen är exakt densamma som i kalkylfunktionen.

Den har två argument.

  • Sträng: Detta är inget annat än värdet eller cellreferensen. Från detta värde vill vi hugga karaktärerna.
  • Längd: Hur många tecken du vill extrahera från strängen du har angett. Detta bör vara ett numeriskt värde.

Hur använder jag Excel VBA Left-funktion?

Du kan ladda ner den här VBA-funktionsmallen här - VBA Vänster-funktionsmallen

Exempel nr 1

Antag att du har ordet "Sachin Tendulkar" och att du bara vill ha de 6 första tecknen från detta ord. Vi visar hur man extraherar från vänster med VÄNSTER-funktionen i VBA.

Steg 1: Skapa ett makronamn och definiera variabel som sträng.

Koda:

 Sub Left_Example1 () Dim MyValue Som Sträng End Sub 

Steg 2: Tilldela nu ett värde till denna variabel

Koda:

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

Steg 3: Öppna VÄNSTER-funktionen.

Koda:

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

Steg 4: Första argumentet är att berätta vad som är strängen eller värdet. Vårt värde här är “Sachin Tendulkar”.

Koda:

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

Steg 5: Längd är inget annat än hur många tecken vi behöver från vänster. Vi behöver sex tecken.

Koda:

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

Steg 6: Visa värdet i VBA MsgBox.

Koda:

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

Steg 7: Kör makrot med F5-tangenten eller manuellt genom ett köralternativ för att få resultatet i en meddelandefält.

Produktion:

Istället för att visa resultatet i en meddelandefält kan vi lagra detta resultat i en av cellerna i vårt Excel-kalkylblad. Vi behöver bara lägga till cellreferensen och variabelvärdet.

Koda:

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

Nu om du kör den här koden får vi värdet i cell A1.

Exempel # 2 - VÄNSTER med andra funktioner

I ovanstående fall har vi direkt angett längden på de tecken vi behöver från vänster riktning, men detta är mer lämpligt för ett eller två värden. Antag att nedan är listan över värden som du har i ditt excel-ark.

I båda fallen skiljer sig förnamntecken från ett till ett annat, vi kan inte direkt ange antalet tecken vi behöver från varje namn.

Det är här skönheten i andra funktioner kommer in i bilden. För att leverera antalet tecken dynamiskt kan vi använda funktionen “VBA Instr”.

I ovanstående uppsättning namn behöver vi alla karaktärer från vänster tills vi når rymdkaraktär. Så Instr-funktionen kan returnera de många karaktärerna.

Steg 1: Starta på samma sätt ett excel-makronamn och definiera en variabel som en sträng.

Koda:

 Sub Vänster_Exempel2 () Dim förnamn som strängänd Sub 

Steg 2: Tilldela värdet till variabeln genom VÄNSTER-funktionen.

Koda:

 Under vänster_exempel2 () Dim förnamn som sträng Förnamn = vänster (slut 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.