Làm cách nào để xếp nhiều cột thành một?


2

Dữ liệu mẫu

Tôi không đủ kinh nghiệm với VBA để thực hiện điều này. Làm cách nào để sửa đổi VBA dưới đây để có thể thực hiện các thao tác sau:

  1. Đặt các cột xếp chồng lên nhau trong một tờ mới.

  2. Xử lý khoảng trống (mã bên dưới hiện đang làm điều này)

3.code thực thi trên phạm vi người dùng hiện đã chọn. Người dùng lý tưởng có thể chọn các cột không liền kề.

Sub MoveAllDataToColumnA()
    Dim i As Long, ws As Worksheet, rngCopy As Range, rngEnd As Range
    Set ws = ActiveSheet
    Do Until ws.Cells(1, 2).Value = ""
        Set rngCopy = ws.Range("B2", ws.Cells(ws.Rows.Count, "B").End(xlUp))
        Set rngEnd = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1, 0)
        rngEnd.Resize(rngCopy.Rows.Count, 1).Value = rngCopy.Value
        rngCopy.EntireColumn.Delete
    Loop
End Sub

Tôi sẽ sử dụng bổ trợ Power Query cho việc này, nhưng nó không thể xử lý yêu cầu # 3.
Mike Honey

1
Cảm ơn đã giới thiệu cho tôi về Power Query. Như trong bài viết khác của tôi điều này cũng sẽ làm việc. Tôi không lo lắng về yêu cầu số 3 vì Power Query, tôi phát hiện ra, có một cách khác để hoàn thành điều tương tự. Nếu bạn gửi phản hồi của bạn như một câu trả lời, tôi sẽ chấp nhận nó.
daniellopez46

Câu trả lời:


2

Tôi sẽ sử dụng bổ trợ Power Query cho việc này, mặc dù nó không thể xử lý yêu cầu # 3. Từ Excel 2016, Power Query được tích hợp vào dải băng Dữ liệu trong phần "Nhận và chuyển đổi".

Các bước tôi sẽ tạo trong Power Query sẽ là:

Chọn cột Org và Chiều dài, sau đó chọn "Xóa cột".

Chọn cột Danh mục và chọn "Hủy cột / Bỏ cột khác cột".

Bạn có thể phân phối kết quả vào Bảng Excel mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.