Funcția VBA Stânga - Cum se utilizează funcția Excel VBA Left?

Excel VBA la stânga

VBA Left este, de asemenea, una dintre funcțiile foii de lucru clasificate în funcțiile de text, care este utilizat în VBA cu aplicația. metoda foii de lucru, returnează numărul specificat de caractere din partea stângă a șirului.

Unele dintre funcțiile Excel sunt integrate și cu VBA. Dintre numeroasele funcții de text, VBA LEFT este una dintre acele funcții pe care le folosim destul de des decât alte formule.

Dacă știți funcția Excel STÂNGA, atunci funcția VBA LEFT este exact aceeași. Poate extrage caracterele din partea stângă a șirului sau a valorii date de utilizator.

Sintaxa funcției STÂNGA este exact aceeași ca și în funcția de foaie de lucru.

Are două argumente.

  • Șir: Acesta nu este altceva decât valoarea sau referința celulei. Din această valoare, căutăm să tăiem personajele.
  • Lungime: câte caractere doriți să extrageți din șirul pe care l-ați furnizat. Aceasta ar trebui să fie o valoare numerică.

Cum se utilizează funcția Excel VBA Left?

Exemplul nr. 1

Să presupunem că aveți cuvântul „Sachin Tendulkar” și doriți doar primele 6 caractere din acest cuvânt. Vom arăta cum să extrageți din stânga utilizând funcția STÂNGA în VBA.

Pasul 1: Creați un nume de macro și definiți variabila ca Șir.

Cod:

Sub Left_Example1 () Dim MyValue As String End Sub

Pasul 2: Acum atribuiți o valoare acestei variabile

Cod:

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

Pasul 3: Deschideți funcția STÂNGA.

Cod:

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

Pasul 4: primul argument este acela de a spune care este șirul sau valoarea. Valoarea noastră aici este „Sachin Tendulkar”.

Cod:

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

Pasul 5: Lungimea nu este altceva decât câte personaje avem nevoie din stânga. Avem nevoie de 6 caractere.

Cod:

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

Pasul 6: Afișați valoarea în VBA MsgBox.

Cod:

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

Pasul 7: Rulați macrocomanda folosind tasta F5 sau manual printr-o opțiune de rulare pentru a obține rezultatul într-o casetă de mesaje.

Ieșire:

În loc să afișăm rezultatul într-o casetă de mesaj, putem stoca acest rezultat într-una dintre celulele din foaia noastră de lucru Excel. Trebuie doar să adăugăm referința celulei și valoarea variabilă.

Cod:

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

Acum, dacă rulați acest cod, vom obține valoarea în celula A1.

Exemplul # 2 - STÂNGA cu alte funcții

În cazul de mai sus, am furnizat direct lungimea caracterelor de care avem nevoie din direcția stângă, dar aceasta este mai potrivită pentru una sau două valori. Să presupunem că mai jos este lista valorilor pe care le aveți în foaia dvs. Excel.

In each case, first name characters are different from one to another; we cannot directly specify the number of characters we needed from each name.

This is where the beauty of other functions will come into the picture. In order to supply the number of characters dynamically, we can use the “VBA Instr” function.

In the above set of names, we need all the characters from the left until we reach space character. So Instr function can return those many characters.

Step 1: Similarly, start an excel macro name and define a variable as a string.

Code:

Sub Left_Example2() Dim FirstName As String End Sub

Step 2: Assign the value to the variable through the LEFT function.

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

Pasul 6: Rulați acest cod manual sau prin F5 vom primi prenumele.

Am primit prenumele pentru un singur nume, dar avem și alte câteva nume. Nu putem scrie 100 de linii de cod de extras, atunci cum extragem?

Aici intervine frumusețea buclelor. Mai jos este codul de buclă, care poate elimina toți pașii nedoriti și poate face treaba în 3 rânduri.

Cod:

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) Celule (i, 2) .Value = Prenume Următor i Sfârșit Sub
Notă: funcția Instr returnează și caracterul spațial, așa că trebuie să scădem 1 din rezultatul Instr.

Dacă rulați acest cod, vom obține valorile prenumelui.

Ieșire:

Lucruri de amintit

  • Stânga se poate extrage numai din stânga.
  • Funcția VBA Instr găsește poziția caracterului furnizat în șir.

Articole interesante...