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メソッドで、解除することができます。