Funzione sinistra VBA

Excel VBA sinistro

VBA Left è anche una delle funzioni del foglio di lavoro classificate sotto le funzioni di testo utilizzate in VBA con l'applicazione. metodo del foglio di lavoro, restituisce il numero di caratteri specificato dalla parte sinistra della stringa.

Alcune delle funzioni di Excel sono integrate anche con VBA. Di tutte le molte funzioni di testo, VBA LEFT è una di quelle funzioni che usiamo abbastanza spesso rispetto ad altre formule.

Se conosci la funzione Excel LEFT, la funzione VBA LEFT è esattamente la stessa. Può estrarre i caratteri dal lato sinistro della stringa o del valore fornito dall'utente.

La sintassi della funzione SINISTRA è esattamente la stessa della funzione del foglio di lavoro.

Ha due argomenti.

  • Stringa: questo nient'altro che il valore o il riferimento di cella. Da questo valore, stiamo cercando di tagliare i personaggi.
  • Lunghezza: quanti caratteri vuoi estrarre dalla stringa che hai fornito. Dovrebbe essere un valore numerico.

Come utilizzare la funzione sinistra VBA di Excel?

Puoi scaricare questo modello di funzione sinistra VBA qui - Modello funzione sinistra VBA

Esempio 1

Supponi di avere una parola "Sachin Tendulkar" e desideri solo i primi 6 caratteri di questa parola. Mostreremo come estrarre da sinistra usando la funzione LEFT in VBA.

Passaggio 1: creare un nome macro e definire la variabile come stringa.

Codice:

 Sub Left_Example1 () Dim MyValue As String End Sub 

Passaggio 2: ora assegna un valore a questa variabile

Codice:

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

Passaggio 3: aprire la funzione SINISTRA.

Codice:

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

Passaggio 4: il primo argomento è quello di dire qual è la stringa o il valore. Il nostro valore qui è "Sachin Tendulkar".

Codice:

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

Passaggio 5: la lunghezza non è altro che il numero di caratteri necessari da sinistra. Abbiamo bisogno di 6 caratteri.

Codice:

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

Passaggio 6: mostra il valore nel VBA MsgBox.

Codice:

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

Passaggio 7: eseguire la macro utilizzando il tasto F5 o manualmente tramite un'opzione di esecuzione per ottenere il risultato in una finestra di messaggio.

Produzione:

Invece di mostrare il risultato in una finestra di messaggio, possiamo memorizzare questo risultato in una delle celle del nostro foglio di lavoro Excel. Dobbiamo solo aggiungere il riferimento di cella e il valore della variabile.

Codice:

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

Ora se esegui questo codice otterremo il valore nella cella A1.

Esempio # 2 - SINISTRA con altre funzioni

Nel caso precedente, abbiamo fornito direttamente la lunghezza dei caratteri di cui abbiamo bisogno dalla direzione sinistra, ma questa è più adatta per uno o due valori. Supponiamo che di seguito sia l'elenco dei valori che hai nel tuo foglio Excel.

In ogni caso i caratteri del nome sono diversi l'uno dall'altro, non possiamo specificare direttamente il numero di caratteri di cui abbiamo bisogno da ogni nome.

È qui che entra in gioco la bellezza di altre funzioni. Per fornire il numero di caratteri in modo dinamico, possiamo utilizzare la funzione "VBA Instr".

Nella serie di nomi sopra, abbiamo bisogno di tutti i caratteri da sinistra fino a raggiungere il carattere spazio. Quindi la funzione Instr può restituire quei molti caratteri.

Passaggio 1: allo stesso modo avvia un nome macro Excel e definisci una variabile come stringa.

Codice:

 Sub Left_Example2 () Dim FirstName As String End Sub 

Passaggio 2: assegnare il valore alla variabile tramite la funzione SINISTRA.

Codice:

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

Passaggio 3: qui dobbiamo fare riferimento alla cella per ottenere il valore dalle celle. Quindi scrivi il codice come CELLE (2,1) .Value.

Codice:

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

Passaggio 4: la prossima  cosa è quanti caratteri abbiamo bisogno. Dopo aver applicato la funzione LEFT non inserire manualmente la lunghezza dei caratteri, applica la funzione Instr.

Codice:

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

Passaggio 5: memorizzare questo risultato nella cella B2. Quindi il codice è CELLS (2,2) .value = FirstName

Codice:

 Sub Left_Example2 () Dim FirstName As String FirstName = Left (Cells (2, 1) .Value, InStr (1, Cells (2, 1) .Value, "")) Celle (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.