Excel VBA SubString
Excel VBA SubString è un tipo di funzione molto utile in VBA che viene usata per affettare e tagliare i dati in forma di stringa. Ma nelle funzioni del foglio di lavoro, abbiamo tre funzioni di sottostringa che sono la funzione sinistra-destra e media, mentre in VBA abbiamo le funzioni sinistra-destra media e split come funzioni di sottostringa. Come suggerisce il nome stesso la funzione di sottostringa in VBA divide una stringa in più sottostringhe. Anche come spiegato sopra in VBA ci sono più funzioni VBA Substring. In questo articolo, impareremo come utilizzare queste funzioni di sottostringa separatamente con esempi. Prima di andare avanti con gli esempi, impariamo la sintassi di queste funzioni e quale argomento queste funzioni prendono come input.
Sintassi di Excel VBA SubString
Seguono le diverse sintassi:
Guarda i nostri corsi e video demo
Valutazione, Hadoop, Excel, Mobile Apps, Web Development & molti altri.
Sintassi della funzione Left SubString:
La stringa di testo è la stringa che forniamo come input mentre la lunghezza è il numero di caratteri che vogliamo dalla stringa di input.
Esempio: Se abbiamo una stringa come ANAND e vogliamo AN come sottostringa il codice sarà
Left (“ANAND”,2)
Sintassi della funzione Right SubString:
La stringa di testo è la stringa che forniamo come input mentre la lunghezza è il numero di caratteri che vogliamo dalla stringa di input.
Esempio: Se abbiamo una stringa come ANAND e usiamo lo stesso codice come sopra il risultato sarà
Right (“ANAND”,2)
Questo dà ND come risultato.
Sintassi della funzione Mid SubString in VBA:
La stringa di testo è la stringa che forniamo come input e Start position è la posizione dove vogliamo che il carattere inizi per l’estrazione mentre la lunghezza è il numero di caratteri che vogliamo dalla stringa di input.
Esempio: Abbiamo una stringa come COMPUTER e vogliamo PUT come sottostringa allora il codice sarà il seguente:
MID (“COMPUTER”,4,3)
Sintassi della funzione Split SubString:
- Expression As String: Questo è un argomento obbligatorio nella funzione SPLIT. È fondamentalmente la stringa di input che forniamo.
- Delimitatore: Questo è un argomento opzionale. È il delimitatore specifico che divide la stringa, ma per default, lo spazio è considerato come delimitatore predefinito.
- Limite: Anche questo è un argomento opzionale. Limite significa il numero massimo di parti che vogliamo fare di una stringa. Ma ancora una volta se non forniamo un limite alla funzione VBA lo tratta come predefinito -1. Questo conclude che la stringa sarà spezzata ogni volta che c’è un delimitatore nella stringa.
- Compare: Anche questo argomento finale è un argomento opzionale. Compare è un metodo di confronto che è uno dei due seguenti:
- Oppure è 0 che significa che SPLIT eseguirà un confronto binario che significa che ogni carattere dovrebbe corrispondere a se stesso.
- Oppure può essere 1 che significa che la funzione SPLIT farà un confronto testuale.
La funzione Split è la più complicata e utile tra tutte le funzioni di sottostringa sopra. Tutte le altre tre funzioni di sottostringa usano una stringa come input mentre la funzione Split usa un array di stringhe.
Per esempio se scrivo Split(“I AM A GOOD BOY”) dividerà la stringa separatamente (ogni parola come separata). Ora usiamo queste funzioni di sottostringa negli esempi.
Come usare le funzioni di sottostringa in VBA?
Impareremo come usare la funzione SubString in Excel usando il codice VBA.
Esempio #1
Funzione Substringa sinistra in VBA. Usiamo la prima funzione di sottostringa in VBA. Per questo, segui i seguenti passi:
Passo 1: Vai alla scheda dello sviluppatore e clicca su Visual Basic per aprire VB Editor.
Passo 2: Inserisci un nuovo modulo dentro Visual Basic Editor (VBE). Clicca sulla scheda Inserisci > seleziona Modulo.
Step 3: Dichiara una sotto-funzione per iniziare a scrivere il codice.
Codice:
Sub Sample()End Sub
Passo 4: Dichiarare due stringhe una per prendere l’input dall’utente e un’altra per memorizzare il valore del risultato.
Codice:
Sub Sample()Dim A, B As StringEnd Sub
Passo 5: Prendere l’input dall’utente per la stringa di input usando la funzione input box.
Codice:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Passo 6: Nella variabile B memorizzare il valore della funzione sinistra fino al terzo posto.
Codice:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub
Passo 7: Utilizzare la funzione Msgbox per visualizzare il risultato finale.
Codice:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub
Step 8: Ora esegui il codice di cui sopra premendo il tasto F5. e scrivi la stringa di input come ANAND.
Passo 9: Quando premiamo OK vediamo il risultato della funzione left substring.
ANA sono i tre caratteri da sinistra della stringa.
Esempio #2
Funzione Substring destra in VBA. Per questo, seguite i seguenti passi:
Passo 1: Nello stesso modulo dichiarate un’altra sottofunzione per iniziare a scrivere il codice per la funzione Right Substring.
Codice:
Sub Rightsub()End Sub
Passo 2: Dichiarate due variabili A e B come stringhe.
Codice:
Sub Rightsub()Dim A, B As StringEnd Sub
Step 3: Prendere l’input dall’utente e memorizzare il valore nella variabile A.
Codice:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Passo 4: Utilizzare la funzione Right sulla stringa al terzo posto e memorizzare il valore nella variabile B.
Codice:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub
Passo 5: Usare la funzione Msgbox per visualizzare il valore di B.
Codice:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub
Passo 6: Eseguire il codice e inserire la stringa di input come “MOTHER”.
Passo 7: Premi OK per vedere il risultato.
HER è i tre caratteri da destra della stringa.
Esempio #3
Funzione Substringa in VBA. Per questo, seguite i seguenti passi:
Passo 1: Nello stesso modulo dichiarate un’altra sottofunzione per iniziare a scrivere il codice per la funzione Mid.
Codice:
Sub MIDsub()End Sub
Passo 2: Dichiarate due variabili A e B come String.
Codice:
Sub MIDsub()Dim A, B As StringEnd Sub
Step 3: Prendere input dall’utente e memorizzare il valore nella variabile A.
Codice:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Passo 4: Usa la funzione Mid con posizione iniziale 4 e lunghezza 3 e memorizza il valore in B e lo visualizza usando la funzione Msgbox.
Codice:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub
Passo 5: Esegui il codice sopra e dai COMPUTER come input.
Passo 6: Premi OK per vedere il risultato finale.
La sottostringa PUT inizia dalla quarta posizione e abbiamo estratto con successo tre caratteri.
Esempio #4
Funzione VBA Split SubString. Per questo, segui i seguenti passi:
Passo 1: Nello stesso modulo dichiara una sotto-funzione per iniziare a scrivere il codice per la sotto-funzione.
Codice:
Sub SplitSub()End Sub
Passo 2: Dichiara due variabili A come stringa e B come array di stringhe e prendi la stringa di input dall’utente e memorizzala nella variabile A.
Codice:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub
Passo 3: Usa la funzione Split SubString e memorizza il suo valore nella variabile B.
Codice:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub
Passo 4: Usa il ciclo For per visualizzare ogni SubStringa in una singola linea.
Codice:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub
Step 5 Esegui il codice sopra e dai I,AM,GOOD,BOY come input.
Passo 6: Premi OK per vedere il risultato.
Abbiamo usato “,” come delimitatore nell’esempio precedente.
Conclusione
Come le funzioni sottostringa del foglio di lavoro anche VBA ha funzioni sottostringa. Sono le funzioni Left Right Mid e Split. Fondamentalmente le funzioni di sottostringa dividono una stringa o un array di stringhe in più sottostringhe. Se vogliamo una sottostringa da sinistra della stringa usiamo la funzione Left o Right nel caso opposto. Se vogliamo un carattere centrale di una data stringa usiamo la funzione MID. Anche se abbiamo un array di stringhe usiamo le funzioni split.
Cose da ricordare
Ci sono alcune cose che dobbiamo ricordare sulle funzioni Substring in VBA:
- E’ simile alle funzioni substring del foglio di lavoro.
- Le funzioni di sottostringa dividono una data stringa in sottostringhe.
- Se abbiamo una matrice di stringhe usiamo le funzioni di divisione.
- Solo la stringa di input nella funzione di divisione è obbligatoria mentre le altre sono opzionali.
Articoli consigliati
Questa è una guida alla VBA SubString. Qui discutiamo come usare la funzione SubString in Excel VBA con esempi pratici e un modello excel scaricabile. Puoi anche passare attraverso i nostri altri articoli consigliati –
- VBA SendKeys
- VBA On Error Goto
- VBA Input
- VBA LBound