Przejdź do głównej zawartości

Jak połączyć wartości komórek, dopóki nie znajdzie pustej komórki w kolumnie?

doc konkatenuj do pustej wartości 1

Na przykład mam listę wartości, która zawiera kilka pustych komórek, a teraz chcę połączyć każdy zestaw danych między pustymi komórkami w komórkę i wyświetlić połączone wartości w innej kolumnie, jak pokazano na zrzucie ekranu. Jak mogę połączyć komórki, aby znaleźć pustą komórkę w kolumnie?

Połącz wartości komórek, dopóki jeśli nie znajdzie pustej komórki w kolumnie z kodem VBA

Połącz wartości komórek, dopóki nie znajdzie pustej komórki w kolumnie z Kutools for Excel


strzałka niebieski prawy bąbelek Połącz wartości komórek, dopóki jeśli nie znajdzie pustej komórki w kolumnie z kodem VBA

Nie ma bezpośredniego sposobu łączenia zestawu komórek między spacjami, ale można zastosować następujący kod VBA, aby sobie z tym poradzić. Wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: łącz wartości komórek, dopóki nie znajdzie pustej komórki

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. Następnie naciśnij F5 klucz do uruchomienia tego kodu i pojawi się okno zachęty przypominające o wybraniu zakresu danych, który chcesz połączyć, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 10

4. Następnie kliknij OKi pojawi się kolejne okno zachęty, wybierz komórkę, aby wyprowadzić połączony wynik, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 11

5. A następnie kliknij OK przycisk, a dane listy kolumn są łączone między spacjami, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 1


strzałka niebieski prawy bąbelek Połącz wartości komórek, dopóki nie znajdzie pustej komórki w kolumnie z Kutools for Excel

Jeśli Kutools dla programu Excel, łącząc jego Zakres transformacji i Połączyć funkcje, możesz również zakończyć tę pracę tak szybko, jak to możliwe. Plik Zakres transformacji narzędzie może pomóc w przekonwertowaniu pojedynczej kolumny na zakres, a rozszerzenie Połączyć funkcja może pomóc w konkatenacji przekształconego zakresu do kolumny.

Kutools dla programu Excel : z ponad 300 poręcznymi dodatkami Excela, które można wypróbować bez ograniczeń w ciągu 30 dni. 

Po zainstalowaniu Kutools dla programu Excelwykonaj następujące czynności:

1. Wybierz komórki, które chcesz połączyć, i kliknij Kutools > łodzie > Zakres transformacjizobacz zrzut ekranu:

2, w Zakres transformacji okno dialogowe, zaznacz Pojedyncza kolumna do zakresu opcja pod Typ transformacji, A następnie wybierz Puste komórki ograniczają rekordy pod Wiersze na rekordzobacz zrzut ekranu:

doc konkatenuj do pustej wartości 3

3. Następnie kliknij Oki pojawi się okienko zachęty przypominające o wybraniu komórki do wyprowadzenia wyniku, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 4

4. Kliknij OK, a dane pojedynczej kolumny zostały przekonwertowane na wiele wierszy i kolumn przez pustą komórkę, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 5

5. Przekonwertowane dane znajdują się w wielu kolumnach, więc musisz połączyć je w jedną kolumnę, wybierz zakres danych i kliknij Kutools > Połącz i podziel > Połącz wiersze, kolumny lub komórki bez utraty danychzobacz zrzut ekranu:

6, w Połącz kolumny lub wiersze w oknie dialogowym wykonaj następujące opcje:

(1.) Wybierz Połącz kolumny opcja z Aby połączyć wybrane komórki zgodnie z następującymi opcjami;

(2.) Następnie określ separator, który chcesz oddzielić połączone wartości;

(3.) Wybierz, jak chcesz postępować z połączonymi komórkami. Możesz zachować lub usunąć oryginalne dane, a także scalić połączone komórki. Zobacz zrzut ekranu:

doc konkatenuj do pustej wartości 7

7. Po zakończeniu ustawień kliknij Ok or Dodaj przycisk, komórki zostały połączone w jedną kolumnę z określonym separatorem, patrz zrzut ekranu:

doc konkatenuj do pustej wartości 8

Pobierz i bezpłatną wersję próbną Kutools dla programu Excel teraz!

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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