Funzione Split VBA (esempi) - Come dividere le stringhe in Excel VBA?

Cos'è la funzione di divisione VBA in Excel?

La funzione di divisione in VBA è una funzione stringa molto utile che viene utilizzata per dividere le stringhe in più sottostringhe in base a un delimitatore fornito alla funzione e un metodo di confronto, ci sono anche altre funzioni di stringa che converte una stringa in sottostringa ma la funzione di divisione può dividere un stringa in più di una sottostringa.

Nella normale funzione SINISTRA del foglio di lavoro, le funzioni MID e DESTRA in Excel vengono utilizzate come funzioni di testo in Excel per estrarre la parte della frase. Ad esempio l'estrazione del nome, del secondo nome e del cognome sono gli scenari comuni che abbiamo visto. Ma in VBA abbiamo la funzione più versatile chiamata SPLIT che farà un lavoro simile per te. SPLIT è una funzione incorporata in Excel VBA che può dividere la frase fornita in base al delimitatore. Ad esempio, se si desidera dividere l'indirizzo di posta elettronica in parti diverse, l'elemento comune nell'indirizzo di posta elettronica è "@" in tutti gli ID di posta elettronica, quindi "@" diventa delimitatore qui.

Funzione Split String VBA

Come tutte le altre funzioni anche split ha una sua sintassi. Di seguito sono riportati i parametri della funzione stringa divisa VBA di Excel.

  • Valore o espressione: questo non è altro che il valore effettivo che stiamo cercando di dividere. Ad esempio, se vuoi dividere il nome e il cognome, il nome completo è il valore qui.
  • (Delimitatore): qual è l'elemento comune per dividere il valore o l'espressione? Nell'ID email "@" è l'elemento comune, nell'indirizzo virgola (,) è l'elemento comune. Se lo ignori, considera il carattere spazio come valore predefinito.
  • (Limite): quante sottostringhe vuoi dal valore o dall'espressione che hai fornito. Ad esempio, se il valore è "My name is Excel", se fornisci 3 come limite, il risultato verrà visualizzato su tre righe come "My", "name", "is Excel".
  • (Confronta): poiché non utilizziamo l'argomento di confronto, salta questo argomento opzionale.

Nelle prossime sezioni dell'articolo, vedremo come utilizzare praticamente la funzione SPLIT in Excel VBA.

Esempi di funzione Split String VBA

Di seguito sono riportati gli esempi pratici della funzione di divisione in Excel VBA.

Esempio n. 1: dividere la frase

Split restituisce il risultato nell'array che inizierà da 0. Tutti gli array iniziano da 0 e non da 1.

Supponiamo di avere la parola "Il mio nome è Excel VBA" nella cella A1.

Ora vuoi dividere questa frase in parti come "My", "Name", "is", "Excel", "VBA". Usando la funzione String VBA SPLIT di Excel possiamo restituire questo risultato.

Passaggio 1: avvia la macro con il nome.

Codice:

Sub Split_Example1 () End Sub Passaggio 2: dichiara tre variabili.

Codice:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String End Sub

Passaggio 3: ora per la variabile definita, My Text assegna la parola "My Name is Excel VBA" .

Codice:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Il mio nome è Excel VBA" End Sub

Passaggio 4: ora per la variabile My Result applicare la funzione di stringa divisa VBA.

Codice:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Il mio nome è Excel VBA" MyResult = Split (End Sub

Passaggio 5: l' espressione è il nostro valore di testo. Dato che abbiamo già assegnato il nostro valore di testo alla variabile My Text, inserisci questo argomento qui.

Codice:

Sub Split_Example1 () Dim MyText As String Dim i As Integer Dim MyResult () As String MyText = "Il mio nome è Excel VBA" MyResult = Split (MyText) End Sub

Nota: come ora ignora tutti gli altri parametri.

Passaggio 6: quindi ora il mio risultato contiene questo risultato diviso. Come ho detto in precedenza nel post, la funzione split memorizza il risultato come un array, quindi qui

  • Il mio risultato (0) = "Il mio"
  • Il mio risultato (1) = "Nome"
  • Il mio risultato (2) = "è"
  • Il mio risultato (3) = "Excel"
  • Il mio risultato (4) = "VBA"

Anche se questo codice non ha alcun impatto per avviare la funzione SPLIT, possiamo usare questo codice.

Esempio # 2: stringa VBA SPLIT con funzione UBOUND

Per memorizzare il risultato della funzione SPLIT, possiamo usare la funzione VBA UBOUND insieme alla funzione SPLIT.

UBOUND restituirà la lunghezza massima dell'array. Nell'esempio precedente, la lunghezza massima dell'array era 5.

Prendi la stessa parola "Il mio nome è Excel VBA". Dividiamo questa parola e memorizziamo dalla cella A1 in poi.

Step 1: Let’s continue from where we left off in the previous example.

Step 2: Now apply FOR NEXT LOOP in VBA from 0 to maximum length of the array i.e. UBOUND.

The reason we started from zero because SPLIT will store the result from zero, not from 1.

Step 3: Now apply VBA CELLS property and store the result.

Code:

Cells(i + 1, 1).Value = MyResult(i)

Step 4: Run this code, we would have split values.

Complete Code:

Sub Split_Example1() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) For i = 0 To UBound(MyResult) Cells(i + 1, 1).Value = MyResult(i) Next i End Sub

Return Word Count

We can also show the total number of words in the supplied value. Use the below code to show the total number of word counts. Code:

Sub Split_Example2() Dim MyText As String Dim i As Integer Dim MyResult() As String MyText = "My Name is Excel VBA" MyResult = Split(MyText) i = UBound(MyResult()) + 1 MsgBox "Total Words Count is " & i End Sub

Copy and paste the above VBA code and run it, the message box will return the result.

Things to Remember

  • If the delimiter is not supplied SPLIT automatically thinks the delimiter as space.
  • If you want to split except space then you need to specify the delimiter in double-quotes.
  • SPLIT stores the result as array results.
  • UBOUND function returns the maximum length of the array.

Recommended Articles

Questa è stata una guida alla funzione Split VBA. Qui abbiamo imparato come utilizzare la funzione Split String VBA in Excel insieme ad alcuni esempi pratici e un modello Excel scaricabile. Di seguito sono riportati alcuni utili articoli su Excel relativi a VBA:

  • Come abilitare RegEx in VBA?
  • Funzione StrComp in Excel VBA
  • Oggetto VBA WorkBook
  • Funzione di sospensione VBA in Excel
  • Crea una tabella pivot in Excel VBA
  • Esegui fino al ciclo in VBA
  • Seleziona Cella in VBA
  • Funzione foglio di lavoro in VBA
  • Pedice fuori intervallo

Articoli interessanti...