Excel

【Excel】VBAマクロでセル結合を解除(同じ値、列方向にすべて、シート全体に一括、Range.MergeArea, UnMerge, For Each hensuu In Collection)

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、ExcelのVBAマクロを使用してセルの結合を解除する方法について解説していきます。

ポイントとしては、`Range.MergeArea`、`UnMerge`、`For Each`を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

VBAマクロでセル結合を解除方法(列方向にすべて、同じ値で埋める)【Range.MergeArea】

それではまず、列方向にすべてのセル結合を解除する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub RetsuKetsugoKaijo()
    Dim hensuu As Range
    For Each hensuu In ActiveSheet.UsedRange
        If hensuu.MergeCells Then
            hensuu.MergeArea.UnMerge
            hensuu.Value = hensuu.MergeArea.Cells(1, 1).Value
        End If
    Next hensuu
End Sub

コードのAlt+F8を押し、マクロ選択画面でRetsuKetsugoKaijo関数を実行します。

このコードは、アクティブなシートの使用範囲内で結合されているセルを探し、結合を解除した後、そのセルに結合されていた最初のセルの値を入力します。

 

VBAマクロでセル結合を解除方法(シート全体、同じ値で埋める)【UnMerge】

続いては、シート全体のセル結合を解除する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SheetKetsugoKaijo()
    Dim hensuu As Range
    For Each hensuu In ActiveSheet.Cells
        If hensuu.MergeCells Then
            hensuu.MergeArea.UnMerge
            hensuu.Value = hensuu.MergeArea.Cells(1, 1).Value
        End If
    Next hensuu
End Sub

コードのAlt+F8を押し、マクロ選択画面でSheetKetsugoKaijo関数を実行します。

このコードは、アクティブなシートの全てのセルで結合されているものを探し、結合を解除。

結合されていたセルの最初の値をそのセルに入力します。

 

VBAマクロでセル結合を解除方法(ブック内の全てシート全体、同じ値で埋める)【For Each】

最後に、ブック内の全てのシートでセル結合を解除する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub BookKetsugoKaijo()
    Dim sheetHensuu As Worksheet
    Dim cellHensuu As Range
    For Each sheetHensuu In ThisWorkbook.Worksheets
        For Each cellHensuu In sheetHensuu.Cells
            If cellHensuu.MergeCells Then
                cellHensuu.MergeArea.UnMerge
                cellHensuu.Value = cellHensuu.MergeArea.Cells(1, 1).Value
            End If
        Next cellHensuu
    Next sheetHensuu
End Sub

コードのAlt+F8を押し、マクロ選択画面でBookKetsugoKaijo関数を実行します。

このコードは、ブック内の全てのシートで、各セルの結合を解除します。結合されていたセルの最初の値をそのセルに入力します。

まとめ

この3つの方法を活用すれば、ExcelのVBAマクロを使用してセルの結合を簡単に解除することが可能となります。

是非、あなたの日常業務に役立ててくださいね!