• ベストアンサー

エクセル マクロ 連続する空白行の削除

エクセルのマクロ処理で、連続する空白行を削除するにはどうしたらいいでしょうか。 行いたい処理は、データ間に存在する一行のみの空白行は残し、二行以上連続する空白行を一行の空白行に縮めるといったことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

データがA列にあるのであればこんなんでどうでしょう? Sub test01() With ActiveSheet x = .Cells(Rows.Count, "A").End(xlUp).Row For i = x To 2 Step -1 If .Cells(i, "A") = "" And .Cells(i - 1, "A") = "" Then .Cells(i, "A").EntireRow.Delete Shift:=xlUp End If Next i End With End Sub

shimP
質問者

お礼

ありがとうございました。 無事処理できることができました。

その他の回答 (2)

  • t_tanaka
  • ベストアンサー率60% (3/5)
回答No.3

範囲を下から見て、2行続けて空白だったら削除するのがセオリーでしょうね。 参考までに、こんな方法も。 Sub Sample()   Dim a   For Each a In Range("A1:A17").SpecialCells(xlCellTypeBlanks).Areas     If a.Rows.Count > 1 Then a.Cells(2).EntireRow.Delete   Next a End Sub Range("A1:A17")はデータが入力されている範囲です。 お手持ちの環境に合わせて修正してください。

shimP
質問者

お礼

No.1の方は範囲を下から見ての処理ですね。 提示の方法も参考になりました。ありがとうございます。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

有効列数は???データ件数は?? データ件数-1から1件目まで逆順ループ、までループ。→ループカウンタA A行目の有効列数がすべて空白かつ(A-1)行目ならば (A-1)およびA行目を削除 [カウンタA←(A-2)]・・・あってもなくてもOK こんなところですね。

shimP
質問者

お礼

有効列数は???データ件数は?? >A列のみで件数はデータシートによりまちまちです。 No.1の方の文で無事処理できました。

関連するQ&A