Dividi le stringhe di testo per delimitatore in più righe: 3 trucchi rapidi
Normalmente, puoi utilizzare la funzione Testo in colonna per dividere il contenuto della cella in più colonne in base a un delimitatore specifico, come virgola, punto, punto e virgola, barra, ecc. Ma, a volte, potresti dover dividere il contenuto della cella delimitato in più righe e ripetere i dati da altre colonne come mostrato nell'immagine sottostante. Hai qualche buon modo per gestire questa attività in Excel? Questo tutorial introdurrà alcuni metodi efficaci per completare questo lavoro in Excel.

Metodo A: dividere il testo delimitato in più righe dal codice VBA
In questa sezione, introdurrò due codici VBA per aiutare a dividere i contenuti delle celle che sono separati da un certo delimitatore.
Suddividi il testo separato da virgola, spazio, punto e virgola, ecc.
Per dividere le stringhe di testo che sono separate da un normale delimitatore, come virgola, spazio, punto e virgola, barra, ecc., il seguente codice può farti un favore. Si prega di seguire i passaggi seguenti:
Nota: questo codice non supporta la funzione Annulla, è meglio eseguire un backup dei dati prima di applicare questo codice.
Passaggio 1: apri l'editor del modulo VBA e copia il codice
1. Attiva il foglio che vuoi usare. Quindi, premi i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".
2. Nella finestra aperta, fare clic su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.
3. Quindi, copia e incolla il codice seguente nel modulo vuoto.
Codice VBA: dividi il 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
Passaggio 2: eseguire il codice per ottenere il risultato
1. Dopo aver incollato il codice, premi il tasto "F5" per eseguire questo codice. Quindi, apparirà una finestra di richiesta per ricordarti di selezionare le celle che contengono il testo delimitato che vuoi dividere, vedi screenshot:

2. Quindi, fai clic su "OK", un'altra finestra di richiesta si apre 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, fai clic sul pulsante "OK". Ora vedrai che le stringhe di testo selezionate sono divise in righe in base alla virgola e altri dati delle colonne relative sono ripetuti come mostrato negli screenshot qui sotto:

Suddividi il testo separato da un'interruzione di riga
Se i contenuti della tua cella sono separati da interruzioni di riga, per dividerli in più righe, ecco un altro codice VBA che può aiutarti.
Nota: questo codice non supporta la funzione Annulla, è meglio eseguire un backup dei dati prima di applicare questo codice.
Passaggio 1: apri l'editor del modulo VBA e copia il codice
1. Premere i tasti "Alt" + "F11" per aprire la finestra "Microsoft Visual Basic for Applications".
2. Nella finestra aperta, fare clic su "Inserisci" > "Modulo" per creare un nuovo modulo vuoto.
3. Quindi, copia e incolla il codice seguente nel modulo vuoto.
Codice VBA: dividi il 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
Passaggio 2: eseguire il codice per ottenere il risultato
1. Dopo aver incollato il codice, premi il tasto "F5" per eseguire questo codice. Nella casella a comparsa, seleziona le celle che vuoi dividere, vedi screenshot:

2. Quindi, fare clic sul pulsante "OK", i dati nelle celle selezionate vengono suddivisi in righe come mostrato nello screenshot seguente:

Metodo B: 10 secondi per dividere il testo delimitato in più righe da Kutools per Excel
Se hai installato "Kutools for Excel", con la sua funzionalità "Split Data to Rows", puoi dividere le stringhe di testo in più righe tramite qualsiasi delimitatore specificato. Procedi come segue:
Passaggio 1: selezionare la funzione Dividi dati in righe
Fare clic su "Kutools" > "Unisci e dividi" > "Dividi dati in righe", vedere schermata:

Passaggio 2: specificare le celle di dati e il delimitatore per la divisione
Nella finestra di dialogo visualizzata, utilizzare le seguenti opzioni:
- 1). Selezionare l'elenco delle celle che si desidera dividere dalla casella di testo "Intervallo (colonna singola)";
- 2). Quindi, scegli il delimitatore che separa i tuoi dati, qui, sceglierò "Altro" e digiterò una virgola e uno spazio (,) nella casella di testo;
- 3). Infine, fare clic 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, ti basta premere Ctrl + Z per annullare.
Facile da usare? Interessato a questa funzione, per favore fare clic per scaricare per ottenere una prova gratuita per 30 giorni.
Metodo C: dividere il testo delimitato in più righe per Power Query
Se utilizzi Office 365 o Excel 2016 e versioni successive, "Power Query" è uno strumento potente che può aiutarti a dividere il testo delimitato in più righe o colonne. È utile se vuoi che i dati divisi vengano aggiornati quando i tuoi dati originali cambiano. Per completarlo, segui i seguenti passaggi:
Passaggio 1: inserisci la tabella dati Power Query
1. Seleziona l'intervallo di dati che vuoi utilizzare, quindi clicca su "Dati" > "Da tabella", vedi schermata:
Suggerimenti: in Excel 2019 e Office 365, fare clic su Dati > Da tabella/intervallo.

2. Nella finestra di dialogo "Crea tabella" che si apre, fare clic sul pulsante "OK" per creare una tabella, vedere schermata:

3. Ora, il "Power Query Viene visualizzata la finestra "Editor" con i dati, vedere screenshot:

Passaggio 2: eseguire le trasformazioni Power Query
1. Seleziona la colonna che vuoi dividere. Quindi, 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., eseguire le seguenti operazioni:
- 1). Scegli il delimitatore con cui separare i tuoi dati dall'elenco a discesa "Seleziona o inserisci delimitatore";
- 2). Selezionare "Ogni occorrenza del delimitatore" dalla sezione "Dividi in";
- 3). Quindi, fai clic su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
- 4). Infine, fare clic su "OK" per chiudere questa finestra di dialogo.

Per dividere le stringhe di testo in più righe tramite interruzione di riga, procedere come segue:
- 1). Selezionare "Personalizzato" dall'elenco a discesa "Seleziona o inserisci delimitatore";
- 2). Dal menu a discesa "Inserisci caratteri speciali", clicca su "Avanzamento riga" e i caratteri "#(lf)" verranno inseriti automaticamente nella casella di testo sotto "Personalizzato";
- 3). Selezionare "Ogni occorrenza del delimitatore" dalla sezione "Dividi in";
- 4). Quindi, fai clic su "Opzioni avanzate" per espandere la sezione e seleziona "Righe" sotto "Dividi in";
- 5). Infine, fare clic su "OK" per chiudere questa finestra di dialogo.

3. Ora, i dati selezionati sono stati suddivisi in più righe come mostrato nell'immagine sottostante:

Passaggio 3: emettere il file Power Query ad una tabella Excel
1. E poi, dovresti esportare i dati nel tuo foglio di lavoro. Clicca su "Home" > "Chiudi e carica" > "Chiudi e carica / Chiudi e carica su", (qui, cliccherò su "Chiudi e carica"), vedi screenshot:

Suggerimenti: facendo clic su Chiudi e carica i dati verranno esportati in un nuovo foglio di lavoro; facendo clic sull'opzione Chiudi e carica in, i dati verranno esportati in qualsiasi altro foglio di lavoro necessario.
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, ti basta fare clic con il pulsante destro del mouse sulla tabella dei risultati e cliccare su "Aggiorna" per ottenere dinamicamente il nuovo risultato.
Articoli Correlati:
- Dividi i valori delle celle in più colonne
- In Excel, quando si desidera suddividere un elenco di valori di cella in più colonne in base a determinati delimitatori, come virgola, spazio, punto, nuova riga, ecc., normalmente, la funzionalità di testo in colonne incorporata può aiutarti a completare questo passaggio di lavoro per gradino. In questo articolo, parlerò di alcuni buoni trucchi per dividere i valori della cella in più colonne o righe in modo facile e veloce.
- 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 quindi si desidera dividere questa lunga cella in più righe o colonne in base al punto e virgola, in questo caso, hai dei modi rapidi risolverlo in Excel?
- Dividi la stringa di testo per caso
- In Excel, di solito dividiamo il testo in base a larghezza fissa o delimitatore con la funzione Testo in colonne, ma hai mai provato a dividere il testo in maiuscolo e minuscolo? Ad esempio, hai un elenco di dati e devi dividerli in due colonne in base al caso: una colonna contiene una stringa minuscola e l'altra contiene una stringa maiuscola come mostrato nell'immagine sottostante. La funzione Text to Columns non supporta questa operazione, tuttavia, posso introdurre un trucco per dividere rapidamente la stringa di testo per caso in Excel.
- Dividi il numero in singole cifre
- Supponendo di dover rompere o dividere il numero in singole cifre come mostrato nell'immagine sottostante, cosa puoi fare per ottenerlo? Questo articolo fornirà due metodi per te.
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- 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, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Sommario
- Video: dividi le stringhe di testo per delimitatore
- Metodo A: tramite codice VBA
- Testo separato da virgola, spazio, punto e virgola, ecc.
- Testo separato da Interruzione di riga
- Metodo B: 10s di Kutools per Excel
- Metodo C: Per Power Query
- Articoli Correlati
- I migliori strumenti per la produttività in ufficio
- Commenti