Macro để hợp nhất các ô trong một cột nếu các hàng giống nhau được hợp nhất trong một cột khác


2

Tôi cần trợ giúp để tìm một macro có thể hợp nhất các ô trên các hàng trong một cột nếu các hàng đó đã được hợp nhất trong một cột khác. Dưới đây là một ảnh chụp màn hình của những gì tôi có bây giờ cho thấy các ô được hợp nhất trong Cột A.

before

Ảnh chụp màn hình bên dưới là những gì tôi cần bảng tính trông giống như sau khi macro chạy; các ô tương ứng trong Cột B được sáp nhập.

after


Chào mừng bạn đến với superuser, như mọi khi: Bạn đã thử những gì cho đến nay? Bạn có một số mã VBA với một vấn đề thực tế mà bạn bị mắc kẹt?
nixda

Không có VBA bây giờ chỉ vì tôi không có quá nhiều kinh nghiệm viết VBA. Tôi đã cố gắng giải quyết bằng cách sử dụng hàm CONCATENATE trong cột B tham chiếu các ô trong cột A với tiêu chí được hợp nhất, nhưng cho đến nay vẫn không thành công. Tôi đã tìm kiếm các bài đăng liên quan trên Superuser cho các macro để có khả năng giải quyết vấn đề này, nhưng không thể tìm thấy các macro hợp nhất các ô tham chiếu đến các ô được hợp nhất khác.
NPatel

Câu trả lời:


1

Đây là ngắn nhất tôi có thể làm. Tôi đã thử nó với ví dụ của bạn và nó đã làm việc cho tôi.

Sub mergecolumn()

Dim cnt As Integer
Dim rng As Range
Dim str As String

For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
    cnt = Cells(i, 1).MergeArea.Count
    Set rng = Range(Cells(i, 2), Cells(i - cnt + 1, 2))

    For Each cl In rng
        If Not IsEmpty(cl) Then str = str + vbNewLine + cl
    Next
    If str <> "" Then str = Right(str, Len(str) - 2)

    Application.DisplayAlerts = False
    rng.Merge
    rng = str
    Application.DisplayAlerts = True

    str = ""
    i = i - cnt + 1
Next i

End Sub

Một khi tôi biết một cách tốt hơn / ngắn hơn để ghép các tế bào. Đó là một cái gì đó với tham gia, chia, mảng và phạm vi. Chết tiệt, tôi quên mất rồi.
nixda

Cám ơn rất nhiều! VB hoạt động hoàn hảo. Cảm ơn một lần nữa vì sự giúp đỡ của bạn!
NPatel
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.