- ベストアンサー
エクセル マクロ 連続する空白行の削除
エクセルのマクロ処理で、連続する空白行を削除するにはどうしたらいいでしょうか。 行いたい処理は、データ間に存在する一行のみの空白行は残し、二行以上連続する空白行を一行の空白行に縮めるといったことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
データが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
その他の回答 (2)
- t_tanaka
- ベストアンサー率60% (3/5)
範囲を下から見て、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")はデータが入力されている範囲です。 お手持ちの環境に合わせて修正してください。
お礼
No.1の方は範囲を下から見ての処理ですね。 提示の方法も参考になりました。ありがとうございます。
- kokorone
- ベストアンサー率38% (417/1093)
有効列数は???データ件数は?? データ件数-1から1件目まで逆順ループ、までループ。→ループカウンタA A行目の有効列数がすべて空白かつ(A-1)行目ならば (A-1)およびA行目を削除 [カウンタA←(A-2)]・・・あってもなくてもOK こんなところですね。
お礼
有効列数は???データ件数は?? >A列のみで件数はデータシートによりまちまちです。 No.1の方の文で無事処理できました。
お礼
ありがとうございました。 無事処理できることができました。