- ベストアンサー
エクセルマクロで行を変えて100回デリート
すみません。繰り返し165行下がってデリートしたいのですが・・・ どなたか詳しい方ご教授下さいませ。 ActiveWindow.SmallScroll Down:=174 Rows("183:198").Select Selection.Delete Shift:=xlUp ActiveWindow.SmallScroll Down:=171 Rows("348:363").Select ←165行下がりデリートを繰り返しデリートしたいです。 Selection.Delete Shift:=xlUp
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
素直に数を数えてみます。 sub macro1() dim r as long for r = 183 to 183 + 165 * 100 step 165 rows(r & ":" & r + 15).delete shift:=xlshiftup next r end sub
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です。 質問文のコードを拝見すると 一度行削除したあと、165行下がりの16行を削除!というコトのようですので、 No.2さんのコードの方が正解ですね。 どうも失礼しました。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! いちいちセレクトせずに一気に削除します。 Sub Sample1() Dim cnt As Long, myRng As Range Set myRng = Cells(183, "A").Resize(16) cnt = 1 Do Until cnt = 100 cnt = cnt + 1 Set myRng = Union(myRng, Cells(cnt * 165 + 18, "A").Resize(16)) Loop myRng.EntireRow.Delete shift:=xlUp End Sub これでも大丈夫だと思います。m(_ _)m
お礼
できました。私のような初心にも理解可能な記述でうれしいです。ありがとうございます。大変助かりました。