プロが教えるわが家の防犯対策術!

空白行を削除するマクロについて質問です。
「Aが空白の場合」ではなく「A~Lセルすべてが空白の場合」に行を削除したいです。
下記のマクロでは、Aが空白の場合に行がすべて削除されてしまいます。
Aが空白でも、BやLに数字や文字があれば、その行は残るようにしたいです。

このマクロをどう変化させれば、うまく作業が実行されますか?
マクロは初心者です。よろしくお願いいたします。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・

sub macro1()
 dim s as long
 dim e as long
 dim r as long

 s = 5
 e = range("A65536").end(xlup).row

 for r = e to s step -1
  if application.trim(cells(r, "A")) = "" then
   cells(r, "A").entirerow.delete shift:=xlshiftup
  end if
 next r
end sub

A 回答 (1件)

こんにちは!


一例です。

Sub Sample1()
Dim i As Long, lastRow As Long, myRng As Range, myArea As Range
With ActiveSheet
If .Range("A1") = "" And WorksheetFunction.CountA(Range("A1")) = 0 Then
.Range("A1") = "ダミー"
End If
lastRow = .UsedRange.Rows.Count
For i = 1 To lastRow
Set myRng = Range(.Cells(i, "A"), .Cells(i, "L"))
If WorksheetFunction.CountBlank(myRng) = 12 Then
If myArea Is Nothing Then
Set myArea = .Cells(i, "A")
Else
Set myArea = Union(myArea, .Cells(i, "A"))
End If
End If
Next i
On Error Resume Next '//←念のため
myArea.EntireRow.Delete shift:=xlUp
If .Range("A1") = "ダミー" Then .Range("A1").ClearContents
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

無事できました(*^_^*)
とっても助かりました!ありがとうございます!!!!!!

お礼日時:2015/05/25 10:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!