- ベストアンサー
エクセルで行を削除するコマンド
こんにちは、お世話になります。 エクセルのVBAで、↓こんなことをしたいのですが、教えてください。 A列 B列 1 a 11 2 b 12 3 c 20 4 d 21 B列が20以上の時、行ごと削除する。 B列が「20の時」だったら、なんとかうまくいったのですが、 以上、以下、というのが全然わかりません。 それから、もし、皆さんが参考にされているサイトなどがあれば教えてください。 よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これで、どうでしょうか? 試す時は本番のデータでなく、適当なサンプルで確かめてから使って下さいね。 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 ですね。
その他の回答 (1)
- shishishishi
- ベストアンサー率39% (362/921)
これでいけると思います。 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
お礼
早速、ありがとうございました! 試してみましたが、ばっちりできました! 本当にありがとうございます。 また、なにかありましたらよろしくおねがいします。
お礼
素早い回答、本当にありがとうございます! ばっちりできました。 >ちなみに20以上は >=20 と書きます。 >以下は <= 20 ですね。 これが知りたかったです^^ また何かありましたらよろしくおねがいします!