Dividi Stringhe di Testo per Delimitatore in Più Righe - 3 Trucchi Veloci
Normalmente, puoi utilizzare la funzione Testo in Colonne per dividere il contenuto delle celle in più colonne tramite un delimitatore specifico, come virgola, punto, punto e virgola, barra, ecc. Tuttavia, a volte potresti aver bisogno di dividere i contenuti delle celle delimitati in più righe e ripetere i dati dalle altre colonne, come mostrato nello screenshot sottostante. Hai qualche buon metodo per gestire questa operazione in Excel? Questa guida introdurrà alcuni metodi efficaci per completare questo compito in Excel.

Metodo A: Dividi testo delimitato in più righe con codice VBA
In questa sezione, introdurrò due codici VBA per aiutare a dividere il contenuto delle celle separate da un determinato delimitatore.
Dividi testo separato da virgola, spazio, punto e virgola, ecc.
Per dividere le stringhe di testo che sono separate da un delimitatore comune, come virgola, spazio, punto e virgola, barra, ecc., il seguente codice può esserti utile. Segui i passaggi seguenti:
Nota: Questo codice non supporta Annulla, quindi è meglio eseguire il backup dei dati prima di applicare questo codice.
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 "Microsoft Visual Basic for Applications".
2. Nella finestra aperta, clicca su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.
3. Successivamente, copia e incolla il codice sottostante nel modulo vuoto.
Codice VBA: Dividi testo per 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. Poi, apparirà una finestra di dialogo che ti chiederà di selezionare le celle contenenti il testo delimitato che desideri dividere, vedi screenshot:

2. Quindi, clicca su "OK", un'altra finestra di dialogo apparirà per ricordarti di digitare il separatore in base al quale vuoi dividere i dati. Qui, digito una virgola e uno spazio (, ), vedi screenshot:

3. Infine, clicca sul pulsante "OK". Ora vedrai che le stringhe di testo selezionate sono state divise in righe in base alla virgola e i dati delle altre colonne relative sono stati ripetuti come mostrato negli screenshot sottostanti:

Dividi testo separato da interruzione di riga
Se i contenuti delle tue celle sono separati da interruzioni di riga, per dividerli in più righe, ecco un altro codice VBA che può aiutarti.
Nota: Questo codice non supporta Annulla, quindi è meglio eseguire il backup dei dati prima di applicare questo codice.
Passo 1: Apri l'editor del modulo VBA e copia il codice
1. Premi i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".
2. Nella finestra aperta, clicca su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.
3. Successivamente, copia e incolla il codice sottostante nel modulo vuoto.
Codice VBA: Dividi testo per 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 pop-up, seleziona le celle che desideri dividere, vedi screenshot:

2. Quindi, clicca sul pulsante "OK", i dati nelle celle selezionate verranno divisi in righe come mostrato nello screenshot sottostante:

Metodo B: 10s per dividere testo delimitato in più righe con Kutools per Excel
Se hai installato "Kutools per Excel", con la sua funzione "Suddividi in più righe", puoi dividere le stringhe di testo in più righe utilizzando qualsiasi delimitatore specificato. Procedi con i seguenti passaggi:
Passo 1: Seleziona la funzione Suddividi in più righe
Clicca su "Kutools" > "Unisci & Dividi" > "Suddividi in più righe", vedi screenshot:

Passo 2: Specifica le celle dei dati e il delimitatore per la suddivisione
Nella finestra di dialogo pop-up, usa le seguenti opzioni:
- 1). Seleziona l'elenco delle celle che desideri dividere dalla casella di testo "Intervallo (singola colonna)";
- 2). Poi, scegli il delimitatore che separa i tuoi dati, qui sceglierò "Altro" e digiterò una virgola e uno spazio (, ) nella casella di testo;
- 3). Infine, clicca sul pulsante "OK".

Ora, le celle selezionate con stringhe di testo delimitate sono state convertite in più righe in base al separatore specifico, vedi screenshot:

Suggerimenti: Se vuoi ripristinare i dati originali, basta premere Ctrl + Z per annullare.
Facile da usare? Interessato a questa funzione? Clicca per scaricare una prova gratuita di 30 giorni.
Metodo C: Dividi testo delimitato in più righe con Power Query
Se stai utilizzando Office 365 o Excel 2016 e versioni successive, "Power Query" è uno strumento potente che può aiutarti a dividere testo delimitato in più righe o colonne. È utile se desideri che i dati divisi vengano aggiornati quando cambiano i dati originali. Procedi con i seguenti passaggi per completarlo:
Passo 1: Ottieni la tabella dati in Power Query
1. Seleziona l'intervallo di dati che desideri utilizzare, poi clicca su "Dati" > "Da Tabella", vedi screenshot:
Suggerimenti: In Excel 2019 e Office 365, clicca su Dati > Da Tabella/Intervallo.

2. Nella finestra di dialogo "Crea Tabella" pop-up, clicca sul pulsante "OK" per creare una tabella, vedi screenshot:

3. Ora, la finestra "Editor Power Query" viene visualizzata con i dati, vedi screenshot:

Passo 2: Esegui le trasformazioni in Power Query
1. Seleziona la colonna che desideri dividere. Poi, clicca su "Home" > "Dividi Colonna" > "Per Delimitatore", vedi screenshot:

2. Nella finestra di dialogo "Dividi Colonna per Delimitatore":
Per dividere le stringhe di testo per virgola, spazio, punto e virgola, ecc., procedi in questo modo:
- 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" dalla sezione "Dividi a";
- 3). Poi, clicca su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
- 4). Infine, clicca su "OK" per chiudere questa finestra di dialogo.

Per dividere stringhe di testo in più righe per interruzione di riga, procedi in questo modo:
- 1). Scegli "Personalizzato" dall'elenco a discesa "Seleziona o inserisci delimitatore";
- 2). Dall'elenco a discesa "Inserisci caratteri speciali", clicca su "Interruzione di riga", e i caratteri "#(lf)" verranno inseriti automaticamente nella casella di testo sotto "Personalizzato";
- 3). Seleziona "Ogni occorrenza del delimitatore" dalla sezione "Dividi a";
- 4). Poi, clicca su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
- 5). Infine, clicca su "OK" per chiudere questa finestra di dialogo.

3. Ora, i dati selezionati sono stati divisi in più righe come mostrato nello screenshot sottostante:

Passo 3: Esporta Power Query in una tabella Excel
1. Poi, devi esportare i dati nel tuo foglio di lavoro. Clicca su "Home" > "Chiudi & Carica" > "Chiudi & Carica / Chiudi & Carica In", (qui cliccherò su "Chiudi & Carica"), vedi screenshot:

Suggerimenti: Cliccando su Chiudi & Carica, i dati verranno esportati in un nuovo foglio di lavoro; cliccando su Chiudi & Carica In, i dati verranno esportati in qualsiasi altro foglio di cui hai bisogno.
2. Infine, i dati verranno caricati in un nuovo foglio di lavoro, vedi screenshot:

Suggerimenti: Se hai bisogno di aggiornare frequentemente i dati nella tabella originale, non preoccuparti, basta fare clic con il tasto destro sulla tabella risultante e cliccare su "Aggiorna" per ottenere dinamicamente il nuovo risultato.
Articoli Correlati:
- Dividi valori delle celle in più colonne
- In Excel, quando vuoi dividere un elenco di valori delle celle in più colonne tramite determinati delimitatori, come virgola, spazio, punto, nuova riga, ecc., normalmente la funzione incorporata Testo in Colonne può aiutarti a completare questo compito passo dopo passo. In questo articolo, parlerò di alcuni trucchi utili per dividere facilmente e rapidamente i valori delle celle in più colonne o righe.
- Dividi una cella in più righe o colonne
- Supponendo di avere una singola cella che contiene più contenuti separati da un carattere specifico, ad esempio punto e virgola, e poi vuoi dividere questa lunga cella in più righe o colonne basandoti sul punto e virgola, in questo caso, hai qualche metodo rapido per risolverlo in Excel?
- Dividi stringa di testo per maiuscole/minuscole
- In Excel, di solito dividiamo il testo per larghezza fissa o delimitatore con la funzione Testo in Colonne, ma hai mai provato a dividere il testo per maiuscole e minuscole? Ad esempio, hai un elenco di dati, e devi dividerli in due colonne in base al caso: una colonna contiene stringhe minuscole, e l'altra contiene stringhe maiuscole come mostrato nello screenshot sottostante. La funzione Testo in Colonne non supporta questa operazione, tuttavia, posso introdurre un trucco per dividere rapidamente stringhe di testo per maiuscole/minuscole in Excel.
- Dividi numeri in cifre individuali
- Supponendo che tu debba spezzare o dividere un numero in cifre individuali come mostrato nello screenshot sottostante, cosa puoi fare per raggiungere questo obiettivo? Questo articolo fornirà due metodi per te.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in 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, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Indice
- Video: Dividi stringhe di testo per delimitatore
- Metodo A: Con codice VBA
- Testo separato da virgola, spazio, punto e virgola, ecc.
- Testo separato da interruzione di riga
- Metodo B: 10s con Kutools per Excel
- Metodo C: Con Power Query
- Articoli Correlati
- I Migliori Strumenti di Produttività per Office
- Commenti