KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Dividi stringhe di testo tramite delimitatore in righe multiple – Trucchi rapidi di 3

AutoreXiaoyang Data di modifica

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.

dividi il testo in più righe

Video: Dividi stringhe di testo tramite delimitatore in righe multiple

 


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:

codice VBA per selezionare le celle contenenti il testo delimitato

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:

codice VBA per digitare un separatore in base al quale dividere i dati

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:

le stringhe di testo selezionate sono suddivise in righe

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:

codice VBA per selezionare l'intervallo da dividere

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

i dati nelle celle selezionate sono suddivisi in righe

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:

Kutools per Exceloffre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza.Integrato con funzionalità AI, Kutools automatizza le attività con precisione, rendendo la gestione dei dati semplice e immediata.Informazioni dettagliate su Kutools per Excel...         Prova gratuita...

Passo 1: Seleziona la funzione Suddividi in più righe

Fai clic su «Kutools» > «Unisci e Dividi» > «Suddividi in più righe»; vedi immagine:

Fai clic su Kutools > Unisci e dividi > Dividi dati in righe

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».
Specifica le celle dei dati e il delimitatore per la suddivisione nella finestra di dialogo

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

le celle selezionate sono convertite in più righe

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.

fai clic su Dati > Da tabella

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

fai clic sul pulsante OK per creare una tabella

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

viene visualizzata la finestra dell'Editor di Power Query con i dati

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).

fai clic su Home > Dividi colonna > In base al delimitatore

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.
specifica le opzioni nella finestra di dialogo per dividere il testo con virgola, spazio, punto e virgola, ecc.

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.
specifica le opzioni nella finestra di dialogo per dividere il testo con interruzione di riga

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

i dati selezionati sono stati suddivisi in più righe

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:

fai clic su Home > Chiudi e carica per caricare i dati

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:

i dati vengono caricati in un nuovo foglio di lavoro

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.