Vai al contenuto principale

Come concatenare i valori delle celle fino a quando non trova una cella vuota in una colonna?

doc concatenare fino a vuoto 1

Ad esempio, ho un elenco di valori che include alcune celle vuote e ora voglio concatenare ogni set di dati tra spazi vuoti in una cella ed elencare i valori combinati in un'altra colonna come mostrato nella seguente schermata. Come posso concatenare le celle fino a trovare una cella vuota in una colonna?

Concatena i valori delle celle fino a quando non trova una cella vuota in una colonna con codice VBA

Concatena i valori delle celle finché non trova una cella vuota in una colonna con Kutools per Excel


freccia blu freccia destra Concatena i valori delle celle fino a quando non trova una cella vuota in una colonna con codice VBA

Non esiste un modo diretto per concatenare un insieme di celle tra spazi vuoti, ma puoi applicare il seguente codice VBA per gestirlo. Si prega di fare quanto segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Modulie incolla il codice seguente nel file Finestra del modulo.

Codice VBA: concatena i valori delle celle fino a quando non trova una cella vuota

Sub Concatenatecells()
'updateby Extendoffice
    Dim xRg As Range
    Dim xSaveToRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xTStr As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selecte the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "the selected range is more than one column", vbInformation, "Kutools for Ecel"
        Exit Sub
    End If
    Set xSaveToRg = Application.InputBox("Please selecte output cell:", "Kutools for Excel", , , , , , 8)
    If xSaveToRg Is Nothing Then Exit Sub
    Set xSaveToRg = xSaveToRg.Cells(1)
    Application.ScreenUpdating = False
    For Each xCell In xRg
        If xCell <> "" Then
            xTStr = xTStr & xCell & " "
        Else
            xSaveToRg.Value = xTStr
            Set xSaveToRg = xSaveToRg.Offset(1)
            xTStr = ""
        End If
    Next
    If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
    Application.ScreenUpdating = True
End Sub

3. Quindi premere F5 chiave per eseguire questo codice e viene visualizzata una finestra di messaggio per ricordarti di selezionare l'intervallo di dati che desideri concatenare, vedi screenshot:

doc concatenare fino a vuoto 10

4. Quindi fare clic OKe viene visualizzata un'altra finestra di messaggio, selezionare una cella per visualizzare il risultato concatenato, vedere screenshot:

doc concatenare fino a vuoto 11

5. Quindi fare clic su OK pulsante, ei dati dell'elenco di colonne sono concatenati tra gli spazi vuoti, vedi screenshot:

doc concatenare fino a vuoto 1


freccia blu freccia destra Concatena i valori delle celle finché non trova una cella vuota in una colonna con Kutools per Excel

Se si dispone di Kutools for Excel, combinando il suo Trasforma intervallo e Combinare caratteristiche, puoi anche finire questo lavoro il prima possibile. Il Trasforma intervallo l'utilità può aiutarti a convertire la singola colonna in un intervallo e il file Combinare può aiutarti a concatenare l'intervallo trasformato in una colonna.

Kutools for Excel : con oltre 300 utili componenti aggiuntivi di Excel, da provare gratuitamente senza limitazioni in 30 giorni. 

Dopo l'installazione Kutools for Excel, si prega di fare come segue:

1. Seleziona le celle che desideri concatenare e fai clic su Kutools > Escursione > Trasforma intervallo, vedi screenshot:

2. Nel Trasforma intervallo finestra di dialogo, controllare Singola colonna nell'intervallo opzione sotto il Tipo di trasformazione, Quindi selezionare La cella vuota delimita i record sotto il Righe per record, vedi screenshot:

doc concatenare fino a vuoto 3

3. Quindi fare clic su Oke verrà visualizzata una finestra di messaggio per ricordarti di selezionare una cella per visualizzare il risultato, vedi screenshot:

doc concatenare fino a vuoto 4

4. Clic OKe i dati di una singola colonna sono stati convertiti in più righe e colonne dalla cella vuota, vedi screenshot:

doc concatenare fino a vuoto 5

5. I dati convertiti sono in più colonne, quindi è necessario combinarli in una colonna, selezionare l'intervallo di dati e fare clic Kutools > Unisci e dividi > Combina righe, colonne o celle senza perdere dati, vedi screenshot:

6. Nel Combina colonne o righe finestra di dialogo, eseguire le seguenti opzioni:

(1.) Seleziona Combina colonne opzione dal Per combinare le celle selezionate in base alle seguenti opzioni;

(2.) Quindi specificare un separatore che si desidera separare i valori concatenati;

(3.) Seleziona come vuoi gestire le celle combinate. Puoi mantenere o eliminare i dati originali e puoi anche unire le celle combinate. Vedi screenshot:

doc concatenare fino a vuoto 7

7. Dopo aver terminato le impostazioni, fare clic su Ok or APPLICA pulsante, le celle sono state concatenate in una colonna con un separatore specifico, vedi screenshot:

doc concatenare fino a vuoto 8

Scarica e prova gratuitamente Kutools per Excel ora!

I migliori strumenti per la produttività in ufficio

Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   Più di 50 Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

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

scheda kte 201905


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!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I am using the VBA code, but instead of putting the data into separate rows, it is putting it all in a single cell. Does anyone have an idea why it is doing this?
This comment was minimized by the moderator on the site
Hi! After changing the values (ex, watermelon instead of apple) why is the formula not working?
This comment was minimized by the moderator on the site
Hello, Cristina

Our article provides VBA code, doesn't provide a formula. If you change the cell content, you must re-run the code again to get the correct result.
Thank you!
This comment was minimized by the moderator on the site
great job bro, Very useful
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
It shows there's a syntax error on line 3 "Dim xRg As Range" when I'm trying to run this module based on method 1, what should I do about it?
This comment was minimized by the moderator on the site
Hello, JJ, The code works well in my worksheet, which Excel version do you use?Or you can insert a screesnhot of your problem here.
This comment was minimized by the moderator on the site
How would you do it if you want to base it off another column? I have similar data, but column B is a number then notes(like your fruit) in column I, I want to combine all notes in column I until there is another cell in Column B that has only number. Sometimes there are letter under B or the cells are blank which is why it needs to combine until a number. Then finally can it output back to where it started the combine? IE all notes for first number are in column j, but if the next number is 5 rows below that is fine, it just goes in column j but same row number as the number is found?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations