表のセル結合を解除して空白行を削除する マクロ講座

セル結合された表を集計用にする

セル結合を解除して上詰め
セルの結合解除する

マクロ 24回

セル結合された表は集計や分類に困る

見やすさを考慮してセル結合された表は、いざその表を使う段階で普通の表にしたいと思うことがあります。

(サンプルファイルは、こちらから 3行マクロ24回サンプルデータ
Excelバージョン:Excel20192016201320102007

結合セルを解除する

以下の表は、2行を1行として使っています。
セルの結合解除するマクロ1
セルの結合を解除して、空白行を上詰めしてして通常の表にもどします。
セルの結合解除するマクロ2
この過程をマクロにしましょう。
セルの結合解除するマクロ3

空白行を削除して上方向にシフトする

コードは以下のようになります。
Sub Macro1()
    Selection.UnMerge
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
End Sub
汎用的に使うために、範囲をSelectionにしています。
セルの結合解除するマクロ4

CurrentRegionプロパティを使って空白行を削除し上にシフトする

選択範囲を自動で取得したい場合もありますね。その時は、 アクティブセルのある、現在使用している範囲を選択してから、結合を解除して、空白セルを上詰めにするには.CurrentRegion.Selectのコードを追加します。
Sub kaijyo()
  Selection.CurrentRegion.Select
  Selection.UnMerge
  Selection.SpecialCells(xlCellTypeBlanks).Select
  Selection.Delete Shift:=xlUp
End Sub
コードは、スリム化できます。
Sub kaijyo2()
  Selection.CurrentRegion.UnMerge
  Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

こちらもおすすめ