• ベストアンサー

エクセルで行を削除するコマンド

こんにちは、お世話になります。 エクセルのVBAで、↓こんなことをしたいのですが、教えてください。  A列  B列 1 a   11 2 b   12 3 c   20 4 d   21 B列が20以上の時、行ごと削除する。 B列が「20の時」だったら、なんとかうまくいったのですが、 以上、以下、というのが全然わかりません。 それから、もし、皆さんが参考にされているサイトなどがあれば教えてください。 よろしくおねがいします。

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

  • ベストアンサー
回答No.1

これで、どうでしょうか? 試す時は本番のデータでなく、適当なサンプルで確かめてから使って下さいね。 Sub LineDelete() Range("B1").Activate Do While ActiveCell.Value > "" If ActiveCell.Value >= 20 Then ActiveCell.Rows.Select Selection.Delete Shift:=xlUp Else ActiveCell.Offset(1, 0).Activate End If Loop End Sub ちなみに20以上は >=20 と書きます。 以下は <= 20 ですね。

yu0614
質問者

お礼

素早い回答、本当にありがとうございます! ばっちりできました。 >ちなみに20以上は >=20 と書きます。 >以下は <= 20 ですね。 これが知りたかったです^^ また何かありましたらよろしくおねがいします!

その他の回答 (1)

回答No.2

これでいけると思います。 Sub Macro1() Dim x As Integer, n As Integer With ActiveSheet x = .Range("B65536").End(xlUp).Row For n = x To 1 Step -1 If .Cells(n, 2).Value >= 20 Then .Rows(n).Delete Shift:=xlUp Next n End With End Sub

yu0614
質問者

お礼

早速、ありがとうございました! 試してみましたが、ばっちりできました! 本当にありがとうございます。 また、なにかありましたらよろしくおねがいします。