VBAで、一瞬で同じ内容のセルを結合する方法。

こんにちわ。シバマメです。

エクセルで表を作っているときに、

自分で見るだけなら、行を結合したりしないほうが、データとして利用できるので

良いのですが、

上司とかに見せたりするときに、出来る限り見やすくする必要があります。

たとえば、↓の表は、データに慣れている人は普通に見えますが、

普通の人がみる分には、↓こちらの方が見やすいと思います。

でも、沢山行がある表でこれをやろうと思うと、

とてもとても時間がかかります。

もしも、エクセルVBAのことを全く知らない人でも、

下記のコードを指定場所にコピペするだけで、

一瞬にして、表を変身させることが出来ます!

Sub ketugou()
Dim xRange As Range
Dim xRow As Long
Dim target As Long
‘—————————
target = 1 ‘対象列を指定
‘—————————
    Set xRange = Range(“A1”)
    For xRow = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        With Cells(xRow, target)
            If .Value = .Offset(1, 0).Value Then
                Set xRange = Union(xRange, .Offset(1, 0))
            Else
                Application.DisplayAlerts = False
                xRange.Merge
                Application.DisplayAlerts = True
                Set xRange = .Offset(1, 0)
            End If
        End With
        Next
End Sub
■使い方
‘—————————
target = 1 ‘対象列を指定
‘—————————
数字を、対象列に変更しましょう。
表の中で「犬」「猫」が入力されているのは、
1列目なので、1を指定することで、
「犬」「猫」のセルが各々結合されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です