Przejdź do głównej zawartości

Jak połączyć wiele kolumn w jedną listę w programie Excel?

Aby połączyć lub scalić wiele kolumn w jedną długą listę, zwykle można skopiować i wkleić dane kolumn pojedynczo do określonej kolumny. Ale tutaj mogę przedstawić kilka szybkich sztuczek, aby rozwiązać to zadanie w programie Excel.

Połącz wiele kolumn w jedną listę za pomocą kodu VBA

Połącz wiele kolumn w jedną listę za pomocą Kutools for Excel


Bez powtarzania kopiowania i wklejania danych kolumn, poniższy kod VBA może pomóc szybko i łatwo poradzić sobie z tym zadaniem.

1. Przytrzymaj przycisk Alt + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujące makro w Moduł Okno.

Kod VBA: Połącz lub scal wiele kolumn w jedną listę

Sub CombineColumns1()
'updateby Extendoffice
    Dim xRng As Range
    Dim i As Integer
    Dim xLastRow As Integer
    Dim xTxt As String
    On Error Resume Next
    xTxt = Application.ActiveWindow.RangeSelection.Address
    Set xRng = Application.InputBox("please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    If xRng Is Nothing Then Exit Sub
    xLastRow = xRng.Columns(1).Rows.Count + 1
    For i = 2 To xRng.Columns.Count
        Range(xRng.Cells(1, i), xRng.Cells(xRng.Columns(i).Rows.Count, i)).Cut
        ActiveSheet.Paste Destination:=xRng.Cells(xLastRow, 1)
        xLastRow = xLastRow + xRng.Columns(i).Rows.Count
    Next
End Sub

3. Następnie naciśnij F5 klucz do uruchomienia tego kodu, a pojawi się okno zachęty przypominające o wybraniu zakresu danych, który chcesz połączyć w tylko jedną kolumnę, patrz zrzut ekranu:

doc łączy kolumny w jedną 1

4. A następnie kliknij OK przycisk, a wybrane kolumny zostały scalone tylko w jedną kolumnę, jak pokazano na poniższych zrzutach ekranu:

doc łączy kolumny w jedną 2 2 doc łączy kolumny w jedną 3

Tips: Po uruchomieniu tego VBA oryginalne dane zakresu zostaną wyczyszczone, lepiej najpierw skopiuj i zapisz je w innej lokalizacji.


Jeśli masz zainstalowany Kutools dla programu Excel, jego Zakres transformacji narzędzie może pomóc w łączeniu wielu kolumn w jedną kolumnę lub pojedynczy wiersz.

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 dane kolumn, które chcesz połączyć w jedną listę.

2. Następnie kliknij Kutools > łodzie > Zakres transformacjizobacz zrzut ekranu:

3, w Zakres transformacji okno dialogowe, wybierz Zakres do jednej kolumny opcję i kliknij Ok przycisk, zobacz zrzut ekranu:

doc łączy kolumny w jedną 5

4. W następnym wyskoczył Zakres transformacji kliknij komórkę, w której chcesz wyprowadzić wynik, zobacz zrzut ekranu:

doc łączy kolumny w jedną 6

5. Następnie kliknij OK przycisk, wybrane kolumny zostały połączone w jedną kolumnę w żądanej lokalizacji. Zobacz zrzut ekranu:

doc łączy kolumny w jedną 7

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


Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do programu Excel, które można wypróbować bez ograniczeń w ciągu 30 dni. Pobierz i bezpłatną wersję próbną 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 (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great if you need to combine all of one column, then move to the next column, etc. What if you need to combine them in the row order? Such as...
A1
B1
A2
B2
This comment was minimized by the moderator on the site
Hello, Kevin,
To combine the data from rows into one single column based on the row order, please apply the following code:
Sub ConvertRangeToColumn()
'Updateby Extendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Доброго вечера, благодарю Вас за помощь, Вы сэкономили часы времени. Спасибо, желаю Вам счастья!
This comment was minimized by the moderator on the site
Hello,
Glad it can help you! 😀
This comment was minimized by the moderator on the site
Спасибо большое, все сработало!!!
This comment was minimized by the moderator on the site
This has been very helpful. It saved me hours of copying and pasting columns from A to ANY.
This comment was minimized by the moderator on the site
This worked perfect and was very helpful! Thanks!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations