Přejít k hlavnímu obsahu

Jak kombinovat více sloupců do jednoho seznamu v aplikaci Excel?

Chcete-li kombinovat nebo sloučit více sloupců do jednoho dlouhého seznamu, můžete zkopírovat a vložit data sloupců jeden po druhém do zadaného sloupce. Ale zde vám mohu představit několik rychlých triků k vyřešení tohoto úkolu v aplikaci Excel.

Kombinujte více sloupců do jednoho seznamu s kódem VBA

Zkombinujte více sloupců do jednoho seznamu pomocí Kutools pro Excel


Bez opakování kopírování a vkládání dat sloupců vám následující kód VBA pomůže rychle a snadno zvládnout tuto práci.

1. Podržte stisknuté tlačítko Alt + F11 klíče v aplikaci Excel a otevře Microsoft Visual Basic pro aplikace okno.

2. klikněte Vložit > Modula vložte následující makro do souboru Modul Okno.

Kód VBA: Zkombinujte nebo sloučte více sloupců do jednoho seznamu

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se výzva, aby vám připomněla výběr rozsahu dat, který chcete zkombinovat pouze do jednoho sloupce, viz screenshot:

doc kombinovat sloupce do jednoho 1

4. A pak klikněte na tlačítko OK Tlačítko a vybrané sloupce byly sloučeny pouze do jednoho sloupce, jak je znázorněno na následujících obrázcích obrazovky:

doc kombinovat sloupce do jednoho 2 2 doc kombinovat sloupce do jednoho 3

Tipy: Po spuštění tohoto VBA budou původní data rozsahu vymazána, měli byste je nejprve zkopírovat a uložit na jiné místo.


Pokud jste nainstalovali Kutools pro Excel, to je Rozsah transformace nástroj vám pomůže kombinovat více sloupců do jednoho sloupce nebo jednoho řádku.

Kutools pro Excel : s více než 300 praktickými doplňky Excel, můžete si je vyzkoušet bez omezení do 30 dnů.

Po instalaci Kutools pro Excel, postupujte následovně:

1. Vyberte data sloupců, která chcete sloučit do jednoho seznamu.

2. Pak klikněte na tlačítko Kutools > Rozsah > Rozsah transformace, viz screenshot:

3. V Rozsah transformace dialogové okno vyberte Rozsah do jednoho sloupce a klepněte na tlačítko Ok tlačítko, viz screenshot:

doc kombinovat sloupce do jednoho 5

4. V následujícím vyskočil Rozsah transformace V poli klikněte na buňku, do které chcete výsledek odeslat, viz screenshot:

doc kombinovat sloupce do jednoho 6

5. Pak klikněte na tlačítko OK tlačítko, vybrané sloupce byly sloučeny do jednoho sloupce v požadovaném umístění. Viz screenshot:

doc kombinovat sloupce do jednoho 7

Stáhněte si a vyzkoušejte zdarma Kutools pro Excel nyní!


Kutools pro Excel: s více než 300 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 30 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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