Hoppa till huvudinnehåll

Hur sammanfoga cellvärden tills if hittar en tom cell i en kolumn?

doc sammanfogas tills den är tom 1

Till exempel har jag en lista med värden som innehåller några tomma celler, och nu vill jag sammanfoga varje uppsättning data mellan tomma ämnen i en cell och lista de kombinerade värdena i en annan kolumn enligt följande skärmdump. Hur kunde jag sammanfoga celler tills jag hittade en tom cell i en kolumn?

Sammanfoga cellvärden tills om de hittar en tom cell i en kolumn med VBA-kod

Sammankoppla cellvärden tills om de hittar en tom cell i en kolumn med Kutools för Excel


pil blå höger bubbla Sammanfoga cellvärden tills om de hittar en tom cell i en kolumn med VBA-kod

Det finns inget direkt sätt för dig att sammanfoga en uppsättning celler mellan ämnen, men du kan använda följande VBA-kod för att hantera den. Gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

VBA-kod: sammanfoga cellvärden tills om de hittar en tom cell

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. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta dyker upp för att påminna dig om att välja det dataområde som du vill sammanfoga, se skärmdump:

doc sammanfogas tills den är tom 10

4. Klicka sedan OK, och en annan snabbruta dyker upp, välj en cell för att mata ut det sammanhängande resultatet, se skärmdump:

doc sammanfogas tills den är tom 11

5. Och klicka sedan på OK knappen och kolumnlistans data sammanfogas mellan ämnena, se skärmdump:

doc sammanfogas tills den är tom 1


pil blå höger bubbla Sammankoppla cellvärden tills om de hittar en tom cell i en kolumn med Kutools för Excel

Om du har Kutools för Excel, kombinerar dess Transformera intervall och Kombinera funktioner kan du också avsluta det här jobbet så snart som möjligt. De Transformera intervall verktyget kan hjälpa dig att konvertera den enskilda kolumnen till ett intervall och Kombinera funktionen kan hjälpa dig att sammanfoga det transformerade intervallet till en kolumn.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. 

När du har installerat Kutools för Excel, gör så här:

1. Markera cellerna som du vill sammanfoga och klicka på Kutools > Mätområde > Transformera intervall, se skärmdump:

2. I Transformera intervall dialogruta, kontrollera Enstaka kolumn för intervall alternativet under Transformera typOch väljer sedan Tom cell avgränsar poster under Rader per post, se skärmdump:

doc sammanfogas tills den är tom 3

3. Klicka sedan på Ok, och en snabbruta dyker upp för att påminna dig om att du väljer en cell för att mata ut resultatet, se skärmdump:

doc sammanfogas tills den är tom 4

4. Klicka OK, och enstaka kolumndata har konverterats till flera rader och kolumner av den tomma cellen, se skärmdump:

doc sammanfogas tills den är tom 5

5. De konverterade uppgifterna finns i flera kolumner, så du måste kombinera dem i en kolumn, välj dataområdet och klicka Kutools > Slå ihop och dela > Kombinera rader, kolumner eller celler utan att förlora data, se skärmdump:

6. I Kombinera kolumner eller rader gör följande alternativ:

(1.) Välj Kombinera kolumner alternativ från Att kombinera valda celler enligt följande alternativ;

(2.) Ange sedan en separator som du vill separera de sammanhängande värdena;

(3.) Välj hur du vill hantera de kombinerade cellerna. Du kan behålla eller ta bort originaldata och du kan också slå samman de kombinerade cellerna. Se skärmdump:

doc sammanfogas tills den är tom 7

7. När du har gjort inställningarna klickar du på Ok or Ansök knapp har cellerna sammanfogats i en kolumn med en specifik separator, se skärmdump:

doc sammanfogas tills den är tom 8

Ladda ner och testa gratis Kutools för Excel nu!

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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