プロが教える店舗&オフィスのセキュリティ対策術

エクセルで特定の行のデータを削除したいのですが、やり方がわかりません。
M列に1があった場合にその行のデータのみ(セルは消さないように)削除できるというマクロを作ることは可能でしょうか。
もし可能であれば教えていただけると幸いです。

A 回答 (3件)

こんにちは!



一例です。
項目行があればオートフィルタで一気にと思ったのですが、
とりあえずループさせてみました。

Sub Sample1()
Dim i As Long, myRng As Range
For i = 1 To Cells(Rows.Count, "M").End(xlUp).Row
If Cells(i, "M") = 1 Then
If myRng Is Nothing Then
Set myRng = Cells(i, "M")
Else
Set myRng = Union(myRng, Cells(i, "M"))
End If
End If
Next i
If Not myRng Is Nothing Then
myRng.EntireRow.ClearContents
End If
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0

M列に対して、1を検索し、見つかった行全体をクリアします。

これを1が無くなるまで繰り返します。

Sub sample()
Dim c As Range
With Range("M:M")
Set c = .Find(1, LookAt:=xlWhole, LookIn:=xlValues)
Do Until c Is Nothing
c.EntireRow.Clear
Set c = .FindNext(c)
Loop
End With
End Sub
    • good
    • 0

最終行をどの列で取得するのかと言う問題があるけれど、仮にM列とする。


対象シートをアクティブシートとすると以下。

END = ActiveSheet.Range("M1").End(xlDown).Row
For CNT = 1 To END
ActiveSheet.Rows(CNT).Clear
NEXT CNT
    • good
    • 0

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