3/09/2025

Excel。VBA。アチコチにある結合されているセルを手早く解除したい【Unbind】

Excel。VBA。アチコチにある結合されているセルを手早く解除したい

<MergeCellsプロパティ・UnMergeメソッド>

セル結合をしていると、何かとExcelの機能が使えないので、不便を感じることが多々あります。


シート状に結合されているセルの数が少なければ、まだいいのですが、解除自体の処理は簡単でも、多くなると面倒でしかありません。


そこで、今回は、Excel VBAでプログラム文をつくって対応してみようと思います。


次の表を用意しております。


A5とA9とA14で結合しています。また、A14とC14は列方向で結合しています。


この結合したセルを解除するプログラム文です。

Sub 結合解除()

    Dim i As Long

    Dim j As Long

    Dim lastrow As Long

    

    lastrow = Cells(Rows.Count, "a").End(xlUp).Row

        

    For j = 1 To 3

        For i = 1 To lastrow

            If Cells(i, j).MergeCells = True Then

                Cells(i, j).UnMerge

            End If

        Next i

    Next j

End Sub


では、実行してみましょう。

アチコチにある結合されているセルを手早く解除したい

わかりやすいように、罫線の格子を設定しました。


ご覧のように、結合されていたセルが、すべて解除されていることが確認できました。


それでは、プログラム文を確認しておきましょう。


If Cells(i, j).MergeCells = True Then

Cells(i, j).UnMerge

End If


MergeCellsプロパティをつかうことで、セルが結合されているかどうかを確認することができます。


結合されていれば、Trueを返してくれます。


そして、Trueだったらば、

UnMergeメソッドで、解除することができます。