’アクティブなシートの空行を削除する
'Stに開始行の行番号、Edに終了行の行番号を指定
Public Sub DELETE_NULL_LINE(ByVal St As Integer, ByVal Ed As Integer)
'lは今見ている行
Dim l As Integer
'cは表の右端の列番号
Dim c As Integer
'lを開始行にセット
l = St
'lがEdになるまで繰り返す
Do
'lの行の右端を取得
c = Cells(l, Columns.Count).End(xlToLeft).Column
'右端がA列で、その右端のセルが空セルなら
If c = 1 And IsEmpty(Cells(l, 1)) Then
'lの行を削除
Range(l & ":" & l).Delete
'1行減ったのでEdを1減らす。行が下から詰まるのでlは足さない
Ed = Ed - 1
Else
'lの行が空でなければ、lに1を足して、次の行を見に行く
l = l + 1
End If
'処理した結果、lがEdより小さいなら、まだ終わってないので繰り返す
Loop While Ed > l
End Sub
お礼
私の拙い質問に対し、丁寧に教えて下さったのに、 こちらの勉強不足のため、不愉快な思いをさせてしまい、失礼いたしました。 初めてのマクロであること、仕事で頼まれた作業であるため、 焦ってしまい失礼な返事をしてしまいました。 大変申し訳ありません。