0

同じ行が別の列に既に結合されている場合に、特定の列の行全体でセルを結合できるマクロを見つける手助けが必要です。以下は、列 A で既にマージされているセルに基づいて、列 B のセルをマージする必要があることを示す、現在のスクリーンショットです。

http://i.stack.imgur.com/bRerd.jpg

以下のスクリーンショットは、マクロの実行後に必要なスプレッドシートの外観です

http://i.stack.imgur.com/Jm4ve.jpg

4

1 に答える 1

0

nixdaはすでにそれに答えました...

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
于 2013-06-26T14:12:36.347 に答える