Salt la conținutul principal

Cum se concatenează valorile celulei până când găsește o celulă goală într-o coloană?

doc concatenează până la gol 1

De exemplu, am o listă de valori care includ câteva celule goale și acum vreau să concatenez fiecare set de date între spații goale într-o celulă și să listez valorile combinate într-o altă coloană, după cum se arată în următoarea captură de ecran. Cum aș putea concatena celulele până când găsesc o celulă goală într-o coloană?

Concatenează valorile celulei până când găsește o celulă necompletată într-o coloană cu cod VBA

Concatenează valorile celulei până când găsește o celulă goală într-o coloană cu Kutools pentru Excel


săgeată albastru dreapta balon Concatenează valorile celulei până când găsește o celulă necompletată într-o coloană cu cod VBA

Nu există o modalitate directă de a concatena un set de celule între spații libere, dar puteți aplica următorul cod VBA pentru a face față acestuia. Vă rugăm să faceți următoarele:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: concatenează valorile celulei până când găsește o celulă necompletată

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. Apoi apăsați F5 pentru a rula acest cod și o casetă de solicitare este afișată pentru a vă reaminti să selectați intervalul de date pe care doriți să îl concatenați, vedeți captura de ecran:

doc concatenează până la gol 10

4. Apoi apasa OKși apare o altă casetă de solicitare, selectați o celulă pentru a afișa rezultatul concatenat, vedeți captura de ecran:

doc concatenează până la gol 11

5. Apoi faceți clic pe OK butonul, iar datele listei de coloane sunt concatenate între spații libere, a se vedea captura de ecran:

doc concatenează până la gol 1


săgeată albastru dreapta balon Concatenează valorile celulei până când găsește o celulă goală într-o coloană cu Kutools pentru Excel

Dacă aveţi Kutools pentru Excel, combinând Gama de transformare și Combina funcții, puteți finaliza acest lucru cât mai curând posibil. Gama de transformare utilitarul vă poate ajuta să convertiți singura coloană într-un interval și fișierul Combina funcția vă poate ajuta să concatenați intervalul transformat într-o coloană.

Kutools pentru Excel : cu mai mult de 300 de programe de completare Excel la îndemână, gratuit pentru a încerca fără limitări în 30 de zile. 

După instalare Kutools pentru Excel, vă rugăm să faceți următoarele:

1. Selectați celulele pe care doriți să le concatenați și faceți clic pe Kutools > Gamă > Gama de transformare, vezi captura de ecran:

2. În Gama de transformare casetă de dialog, bifați O singură coloană pentru a varia opțiune în cadrul Tipul transformării, Și apoi selectați Celula goală delimitează înregistrările în temeiul Rânduri pe înregistrare, vezi captura de ecran:

doc concatenează până la gol 3

3. Apoi faceți clic pe Okși va apărea o casetă de prompt pentru a vă reaminti să selectați o celulă pentru a obține rezultatul, vedeți captura de ecran:

doc concatenează până la gol 4

4. Clic OK, iar datele coloanei unice au fost convertite în mai multe rânduri și coloane de celula goală, consultați captura de ecran:

doc concatenează până la gol 5

5. Datele convertite se află în mai multe coloane, deci trebuie să le combinați într-o singură coloană, selectați intervalul de date și faceți clic Kutools > Merge & Split > Combinați rânduri, coloane sau celule fără a pierde date, vezi captura de ecran:

6. În Combinați coloane sau rânduri caseta de dialog, efectuați următoarele opțiuni:

(1.) Selectați Combinați coloane opțiune de la Pentru a combina celulele selectate conform următoarelor opțiuni;

(2.) Specificați apoi un separator pe care doriți să îl separați valorile concatenate;

(3.) Selectați modul în care doriți să tratați celulele combinate. Puteți păstra sau șterge datele originale și, de asemenea, puteți îmbina celulele combinate. Vedeți captura de ecran:

doc concatenează până la gol 7

7. După terminarea setărilor, faceți clic pe Ok or Aplică butonul, celulele au fost concatenate într-o singură coloană cu un separator specific, a se vedea captura de ecran:

doc concatenează până la gol 8

Descărcați și proba gratuită Kutools pentru Excel acum!

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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