Bỏ qua nội dung chính

Làm cách nào để kết hợp nhiều cột thành một danh sách trong Excel?

Tác giả: Tiểu Dương Sửa đổi lần cuối: 2020-05-25

Để kết hợp hoặc hợp nhất nhiều cột thành một danh sách dài, thông thường, bạn có thể sao chép và dán dữ liệu cột lần lượt vào cột được chỉ định. Tuy nhiên, ở đây, tôi có thể giới thiệu cho bạn một số thủ thuật nhanh chóng để giải quyết công việc này trong Excel.

Kết hợp nhiều cột thành một danh sách với mã VBA

Kết hợp nhiều cột thành một danh sách với Kutools cho Excel


Không cần lặp lại sao chép và dán dữ liệu cột, mã VBA sau có thể giúp bạn giải quyết công việc này một cách nhanh chóng và dễ dàng.

1. Giữ phím tắt Alt + F11 các phím trong Excel và nó sẽ mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán macro sau vào Mô-đun Cửa sổ.

Mã VBA: Kết hợp hoặc hợp nhất nhiều cột thành một danh sách

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. Sau đó nhấn F5 để chạy mã này và một hộp nhắc sẽ bật ra để nhắc bạn chọn phạm vi dữ liệu mà bạn muốn kết hợp chỉ thành một cột, xem ảnh chụp màn hình:

doc kết hợp các cột thành một

4. Và sau đó nhấp vào OK và các cột đã chọn chỉ được hợp nhất thành một cột như ảnh chụp màn hình sau:

doc kết hợp các cột thành một 2 doc kết hợp các cột thành một

Lời khuyên: Sau khi chạy VBA này, dữ liệu gốc của phạm vi sẽ bị xóa, bạn nên sao chép và lưu chúng ở một vị trí khác trước.


Nếu bạn đã cài đặt Kutools cho ExcelCủa nó, Phạm vi chuyển đổi tiện ích có thể giúp bạn kết hợp nhiều cột thành một cột hoặc một hàng.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:

1. Chọn dữ liệu cột mà bạn muốn kết hợp thành một danh sách.

2. Sau đó nhấn vào Kutools > Phạm vi > Phạm vi chuyển đổi, xem ảnh chụp màn hình:

3. Trong Phạm vi chuyển đổi hộp thoại, chọn Phạm vi thành một cột và nhấp vào Ok nút, xem ảnh chụp màn hình:

doc kết hợp các cột thành một

4. Trong phần sau xuất hiện Phạm vi chuyển đổi , nhấp vào ô mà bạn muốn xuất kết quả, xem ảnh chụp màn hình:

doc kết hợp các cột thành một

5. Sau đó nhấn vào OK , các cột đã chọn của bạn đã được kết hợp thành một cột duy nhất ở vị trí được chỉ định mà bạn muốn. Xem ảnh chụp màn hình:

doc kết hợp các cột thành một

Tải xuống và dùng thử miễn phí Kutools cho Excel Now!


Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức ...
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột ...
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
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
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations