下記の繰り返し作業をA列の値の入っている最後のセルまで行いたいのですが、ループで処理する事が出来ますか? 判る方がいましたら教えて下さい。宜しくお願い致します。
If Range("a1")>Range("c1") then
Range("a1:b1").delete
End If
If Range("a2")>Range("c1") then
Range("a2:b2").delete
End If
If Range("a3")>Range("c1") then
Range("a3:b3").delete
End If
No.1ベストアンサー
- 回答日時:
こんにちは!
行削除のループの場合、最終行からループさせるのが基本的なやり方です。
一例です。
Sub Sample1()
Dim i As Long
For i = Cells(Rows.Count, "A").End(xlUp).Row To 1 Step -1
With Cells(i, "A")
If .Value > Range("C1") Then
.Resize(, 2).Delete shift:=xlUp
End If
End With
Next i
End Sub
こんな感じで行けると思います。
※ 極端にデータ量が多い場合はそこそこ時間を要してしまいます。
↓のコードは一気に削除しますので、時間短縮ができると思います。
Sub Sample2()
Dim i As Long
Dim myRng As Range
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") > Range("C1") Then
If myRng Is Nothing Then
Set myRng = Cells(i, "A").Resize(, 2)
Else
Set myRng = Union(myRng, Cells(i, "A").Resize(, 2))
End If
End If
Next i
If Not myRng Is Nothing Then
myRng.Delete shift:=xlUp
End If
End Sub
まずはこの程度で・・・m(_ _)m
こんにちは。早々のご回答有難う御座いました。ご回答頂いたコードで希望通りの作業が行えました。特にsampl2は、一気に削除できるのでスムーズに作業が行えると感じました。今回、教えてもらったコードを良く理解し今後に役立てる様、勉強したいと思います。本当に有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでの一時停止と再開の方法
-
画面を強制的に再描画させる方法
-
CSVファイルの特定の行だけを読...
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
ボタンが押された時にループか...
-
アクティブセルから、A列最終行...
-
フラグについて
-
DOSコマンドのループ内のTIMEコ...
-
VBAで3秒だけ時間を止めたい
-
VB2010でCSVファイルの読み込み
-
素数の個数を求めるプログラミング
-
無限ループの防ぐ方法
-
範囲指定したセルを1つずつ飛...
-
vb.netです。2次元配列の要素を...
-
「偶数・奇数の和」のフローチ...
-
どなたかこのプログラミングを...
-
VBA横データを縦にしたいです
-
ネットワークループとルーティ...
-
vb.netからエクセル関数書き込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
ループ7回目の悪役令嬢は、元敵...
-
UWSCの終了の仕方
-
Escキーを押すと、中断する時と...
-
エクセルの当番表を作っていま...
-
GIFアニメをループさせたくない
-
VBAで3秒だけ時間を止めたい
-
どなたかこのプログラミングを...
-
VBA for i=1 to lastrow
-
DOSコマンドのループ内のTIMEコ...
-
ListBox 複数選択 で オートフ...
-
vbscriptでIE自動入力(途中で...
-
vb.netからエクセル関数書き込み
-
DoEventsが必要な理由について
-
Java 南京錠
-
アクティブセルから、A列最終行...
-
テキストボックスの名前に変数...
-
範囲指定したセルを1つずつ飛...
-
VBA Dir関数でファイルをループ...
おすすめ情報