Excel : Kết hợp nhiều cột lại thành một danh sách

Để kết hợp nhiều cột lại với nhau thành một danh sách dài , bạn có thể dùng tính năng Copy/Paste từng cột lại với nhau .

Tuy nhiên bạn có thể làm việc đó thông qua macro nếu như bạn phải làm nhiều lần cho việc này là nhanh nhất .

Macro này có nội dung như bên dưới .

Sub CombineColumns1()

    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\", \"\", 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

Khi chạy macro này nó sẽ yêu cầu bạn chọn vùng dữ liệu muốn gộp

 

\"\"

 

Khi bấm OK tất cả những cột đã được chọn sẽ nối lại với nhau thành một cột

 

\"\"

 

Lưu ý sau khi chạy macro này dữ liệu gốc sẽ bị xóa .