Note: The other languages of the website are Google-translated. Back to English

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 Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
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!
fundul officetab
Comentarii (7)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum ai face asta dacă vrei să te bazezi pe o altă coloană? Am date similare, dar coloana B este un număr, apoi notele (ca fructele dvs.) în coloana I, vreau să combin toate notele din coloana I până când există o altă celulă în coloana B care are doar un număr. Uneori există litere sub B sau celulele sunt goale, motiv pentru care trebuie să se combine până la un număr. Apoi, în sfârșit, poate ieși înapoi de unde a pornit combina? IE, toate notele pentru primul număr sunt în coloana j, dar dacă următorul număr este cu 5 rânduri mai jos, este bine, merge doar în coloana j, dar se găsește același număr de rând ca și numărul?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Arată că există o eroare de sintaxă pe linia 3 „Dim xRg As Range” când încerc să rulez acest modul pe baza metodei 1, ce ar trebui să fac în privința asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, JJ, Codul funcționează bine în foaia mea de lucru, ce versiune Excel utilizați? Sau puteți introduce o captură de ecran a problemei dvs. aici.
Acest comentariu a fost redus la minimum de moderatorul de pe site
grozav frate, foarte util
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna,
Cu plăcere. Mă bucur că ajută. Orice întrebări, vă rugăm să nu ezitați să ne contactați. O zi bună.
Cu sinceritate,
Mandy
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună! După modificarea valorilor (ex, pepene verde în loc de măr) de ce nu funcționează formula?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna, Cristina

Articolul nostru oferă cod VBA, nu oferă o formulă. Dacă modificați conținutul celulei, trebuie să rulați din nou codul pentru a obține rezultatul corect.
Mulțumesc!
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL