この記事では、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マクロを使用してセルの結合を簡単に解除することが可能となります。
是非、あなたの日常業務に役立ててくださいね!