Dividi stringhe di testo tramite delimitatore in righe multiple – Trucchi rapidi di 3
Di solito puoi usare la funzione **Testo in colonne** per suddividere il contenuto delle celle in più colonne utilizzando un delimitatore specifico, come virgola, punto, punto e virgola, barra, ecc. Tuttavia, a volte potresti aver bisogno di dividere il contenuto delle celle delimitato in righe multiple, ripetendo i dati delle altre colonne, come mostrato nell’immagine seguente. Conosci un metodo efficace per eseguire questa operazione in Excel? Questa guida ti illustra alcuni metodi pratici per portare a termine questo compito in Excel.

Metodo A: Dividi il testo delimitato in righe multiple con codice VBA
In questa sezione ti presenterò due macro VBA per dividere il contenuto delle celle in base a un delimitatore specifico.
Dividi il testo separato da virgole, spazi, punti e virgola, ecc.
Per suddividere stringhe di testo separate da un delimitatore comune—come virgola, spazio, punto e virgola, barra, ecc.—il codice seguente ti sarà di grande aiuto. Segui attentamente i passaggi indicati qui sotto:
Nota: questo codice non supporta la funzione Annulla (Undo); ti consigliamo di eseguire un backup dei dati prima di applicarlo.
Passo 1: Apri l’editor del modulo VBA e copia il codice
1. Attiva il foglio che desideri utilizzare, quindi premi i tasti «Alt» + «F11» per aprire la finestra di «Microsoft Visual Basic for Applications».
2. Nella finestra aperta, fai clic su «Inserisci» > «Modulo» per creare un nuovo modulo vuoto.
3. Dopodiché, copia e incolla il codice seguente nel modulo vuoto.
Codice VBA: Dividi testo tramite delimitatore specifico (virgola, punto, spazio, ecc.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Passo 2: Esegui il codice per ottenere il risultato
1. Dopo aver incollato il codice, premi il tasto «F5» per eseguirlo. Si aprirà una finestra di dialogo in cui dovrai selezionare le celle contenenti il testo delimitato da suddividere; vedi immagine:

2. Clicca quindi su «OK»: apparirà un’altra finestra in cui dovrai inserire il separatore da utilizzare per suddividere i dati. In questo caso, digita una virgola seguita da uno spazio (, ); vedi immagine:

3. Infine, fai clic sul pulsante «OK». Vedrai subito le stringhe di testo selezionate suddivise in righe in base alla virgola, con i dati delle altre colonne correlate ripetuti, come illustrato nelle immagini seguenti:

Dividi testo separato da interruzione di riga
Se il contenuto delle tue celle è separato da interruzioni di riga e vuoi suddividerlo in più righe, ecco un altro codice VBA che fa al caso tuo.
Nota: questo codice non supporta la funzione Annulla (Undo); ti consigliamo di eseguire un backup dei dati prima di applicarlo.
Passo 1: Apri l’editor del modulo VBA e copia il codice
1. Premi i tasti «Alt» + «F11» per aprire la finestra di «Microsoft Visual Basic for Applications».
2. Nella finestra aperta, fai clic su «Inserisci» > «Modulo» per creare un nuovo modulo vuoto.
3. Dopodiché, copia e incolla il codice seguente nel modulo vuoto.
Codice VBA: Dividi testo tramite interruzione di riga
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Passo 2: Esegui il codice per ottenere il risultato
1. Dopo aver incollato il codice, premi il tasto «F5» per eseguirlo. Nella finestra che appare, seleziona le celle che desideri dividere; vedi immagine:

2. Clicca quindi su «OK»: i dati nelle celle selezionate verranno suddivisi in righe, come illustrato nell’immagine seguente:

Metodo B: Dividi il testo delimitato in righe multiple in 10 secondi con Kutools per Excel
Se hai installato «Kutools per Excel», puoi sfruttare la sua funzione «Suddividi in più righe» per separare le stringhe di testo in righe multiple utilizzando qualsiasi delimitatore tu abbia specificato. Procedi come segue:
Passo 1: Seleziona la funzione Suddividi in più righe
Fai clic su «Kutools» > «Unisci e Dividi» > «Suddividi in più righe»; vedi immagine:

Passo 2: Specifica le celle dati e il delimitatore per la suddivisione
Nella finestra di dialogo visualizzata, utilizza le seguenti opzioni:
- 1). Seleziona l’elenco di celle da suddividere nella casella di testo «Intervallo (singola colonna)».
- 2). Scegli quindi il delimitatore che separa i tuoi dati; in questo caso selezionerò «Altro» e inserirò una virgola seguita da uno spazio (, ) nella casella di testo.
- 3). Infine, fai clic sul pulsante «OK».

Ora le celle selezionate contenenti stringhe di testo delimitate sono state convertite in righe multiple in base al separatore specificato; vedi immagine:

Suggerimento: per ripristinare i dati originali, premi semplicemente Ctrl + Z e annulla l’operazione.
Facile da usare? Ti incuriosisce questa funzionalità?Clicca qui per scaricare una versione di prova gratuita valida 30 giorni.
Metodo C: Dividi il testo delimitato in righe multiple con Power Query
Se utilizzi Office 365 o Excel 2016 e versioni successive, Power Query è uno strumento potente che ti consente di suddividere il testo delimitato in righe o colonne multiple. È particolarmente utile se desideri che i dati suddivisi vengano aggiornati automaticamente ogni volta che cambiano i dati originali. Segui questi passaggi per completare l’operazione:
Passo 1: Importa la tabella dati in Power Query
1. Seleziona l’intervallo di dati che desideri utilizzare, quindi fai clic su «Dati» > «Da tabella»; vedi immagine:
Suggerimento: in Excel 2019 e Office 365, fai clic su Dati > Da tabella/intervallo.

2. Nella finestra «Crea tabella» visualizzata, fai clic su «OK» per creare la tabella; vedi immagine:

3. Si aprirà ora la finestra «Editor di Power Query» con i dati caricati; vedi immagine:

Passo 2: Applica le trasformazioni in Power Query
1. Seleziona la colonna che desideri dividere, quindi fai clic su «Home» > «Dividi colonna» > «In base al delimitatore» (vedi immagine).

2. Nella finestra «Dividi colonna in base al delimitatore»:
Per dividere le stringhe di testo tramite virgola, spazio, punto e virgola, ecc., procedi come segue:
- 1). Scegli il delimitatore con cui sono separati i tuoi dati dall’elenco a discesa “Seleziona o inserisci delimitatore”.
- 2). Seleziona «Ogni occorrenza del delimitatore» nella sezione «Suddividi in corrispondenza di».
- 3). Quindi fai clic su «Opzioni avanzate» per espandere la sezione e seleziona «Righe» in «Suddividi in».
- 4). Infine, fai clic su «OK» per chiudere questa finestra di dialogo.

Per dividere le stringhe di testo in righe multiple tramite interruzione di riga, procedi come segue:
- 1). Scegli «Personalizzato» dall’elenco a discesa «Seleziona o inserisci delimitatore»;
- 2). Dall’elenco a discesa «Inserisci caratteri speciali», fai clic su «A capo»; i caratteri «#(lf)» verranno inseriti automaticamente nella casella di testo sotto «Personalizzato».
- 3). Seleziona «Ogni occorrenza del delimitatore» nella sezione «Suddividi in corrispondenza di».
- 4). Successivamente, fai clic su «Opzioni avanzate» per espandere la sezione e seleziona «Righe» in «Dividi in».
- 5). Infine, fai clic su «OK» per chiudere questa finestra di dialogo.

3. Ora la funzione Seleziona Dati è stata suddivisa in più righe, come illustrato nell’immagine seguente:

Passo 3: Esporta i dati di Power Query in una tabella Excel
1. Dopodiché, esporta i dati nel tuo foglio di lavoro: fai clic su «Home» > «Chiudi e carica» > «Chiudi e carica» / «Chiudi e carica in...» (in questo caso, selezionerò «Chiudi e carica»); vedi immagine:

Suggerimento: cliccando su «Chiudi e carica», i dati verranno esportati in un nuovo foglio di lavoro; scegliendo «Chiudi e carica in...», potrai esportarli in qualsiasi altro foglio desideri.
2. Infine, i dati verranno caricati in un nuovo foglio di lavoro; vedi immagine:

Suggerimento: se devi aggiornare spesso i dati nella tabella originale, non preoccuparti: basta fare clic con il tasto destro sulla tabella risultante e selezionare «Aggiorna» per ottenere immediatamente i nuovi risultati in modo dinamico.
Articoli correlati:
- Suddividi i valori delle celle in più colonne
- In Excel, quando si desidera suddividere un elenco di valori di cella in più colonne utilizzando determinati delimitatori, come virgola, spazio, punto, ritorno a capo, ecc., normalmente la funzione integrata Testo in colonne può aiutarti a completare questa operazione passo dopo passo. In questo articolo illustrerò alcuni utili trucchi per suddividere facilmente e rapidamente i valori delle celle in più colonne o righe.
- Suddividi una cella in più righe o colonne
- Si supponga di avere una singola cella contenente più elementi separati da un carattere specifico, ad esempio un punto e virgola, e di voler suddividere questa cella in più righe o colonne in base a tale separatore. In questo caso, esistono metodi rapidi per risolvere il problema in Excel?
- Suddividi stringhe di testo in base alle maiuscole/minuscole
- In Excel, di solito si suddivide il testo mediante Larghezza specifica o delimitatore usando la funzione Testo in colonne, ma hai mai provato a suddividere il testo in base alle lettere maiuscole e minuscole? Ad esempio, si dispone di un elenco di dati e si desidera suddividerli in due colonne in base al tipo di carattere: una colonna con stringhe Contiene minuscole e l’altra con stringhe Contiene maiuscole, come mostrato nell’immagine seguente. La funzione Testo in colonne non supporta questa operazione; tuttavia, posso illustrarti un trucco per suddividere rapidamente le stringhe di testo in base alle maiuscole/minuscole in Excel.
- Suddividi un numero nelle singole cifre
- Immagina di dover suddividere un numero nelle sue singole cifre, proprio come mostrato nell’immagine seguente. Come puoi ottenere questo risultato? In questo articolo ti presentiamo due metodi efficaci.
Migliori strumenti per la produttività in ufficio
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Aggiunge l’interfaccia a schede a Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, anziché in nuove finestre.
- Aumenta la tua produttività del 50 % e riduce centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi Kutools. Un unico programma di installazione
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano tra diverse applicazioni Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (compatibile con MSI)
- Funzionano meglio insieme— produttività ottimizzata tra le applicazioni Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi
Indice
- Video: Suddividi stringhe di testo mediante delimitatore
- Metodo A: mediante codice VBA
- Testo separato da virgola, spazio, punto e virgola, ecc.
- Testo separato da interruzione di riga
- Metodo B: in 10 secondi con Kutools per Excel
- Metodo C: mediante Power Query
- Articoli correlati
- I migliori strumenti per la produttività in Office
- Commenti