- ベストアンサー
excel VBA で”27行目ごとに3行削除”について
VBAはまったく初めてです。 早急に作業を行わなければいけないことがでてきたのですが、持ち時間がないので、VBAでできないものかと思いました。 マクロの記録をやってみたのですが、うまくいきません。 記述をする場所はわかります。 毎27行目以降3行を削除していきたいのです。 どう記述していけばいいのか、どなたか教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のようにすればいいかと思います。なお、最初の削除する行が下の記述では28~30になっています『Rows("28:30")』ので、その部分は場合によって変更する必要があります。式の意味はみればわかるかと思いますが・・・。 Sub Macro1() ' FOR i=0 to 200 Rows("28:30").OFFSET(i*27,0).Select Selection.Delete Shift:=xlUp NEXT i End Sub
その他の回答 (1)
- iriyak
- ベストアンサー率48% (40/82)
こんにちは。 (1)シートに列追加を行う (2)削除対象行の列にマーキング (例えば * を設定) (3)データフィルタ(オートフィルタ)で削除対象行を選択 (2)は、Excel VBA を使わなくともセル計算式で実現可です。ご参考までに。 ((2)の例) A1 に =ROW() B1 に =MOD(ROW()-1,30) C1 に =IF((B1-26)>0, "*", "") を設定し、2行目以降も数式をペーストする。そうすると 28, 29, 30 行のみ * がマーキングされる。 A B C : 26 25 27 26 28 27 * 29 28 * 30 29 * 31 0 32 1 :
お礼
回答をくださってありがとうございました。 先に回答していただいていたjo-zenさんの方法で無事に作業を終えることができました。 iriyakさんの方法も考えられるのですね。使いようなのですね。 以後、参考にさせていただきます。 本当にありがとうございました。
お礼
大変たすかりました! このまま、コピーしてやったら、思った通りのことができました。 本当にありがとうございました。