いつもお世話になっております。 表のG列にはグループを識別するためグループの先頭のみに番号が1~6までふられています。(実際はもっと多いです)
いつもお世話になっております。 表のG列にはグループを識別するためグループの先頭のみに番号が1~6までふられています。(実際はもっと多いです) その時によって4のグループが無いときもあれば5のグループが無いときさまざまです。 1~3のかたまりと4~6のかたまりの間にVBAで5行挿入したいです。 Sub test() Dim rng As Range For Each rng In Worksheets(1).Range("G:G") If rng.Value = 4 Then Range(rng.Address).EntireRow.Insert Exit For ElseIf rng.Value = 5 Then Range(rng.Address).EntireRow.Insert Exit For ElseIf rng.Value = 6 Then Range(rng.Address).EntireRow.Insert Exit For End If Next End Sub 4の上に1行挿入することはできて、また4が無いときは5の上に1行挿入まではできましたが、 5行挿入をどのように書いたら良いのかわかりません。 教えていただければ助かります。
Visual Basic・56閲覧
ベストアンサー
■ 一番簡単な方法は、 Range(rng.Address).EntireRow.Insert Range(rng.Address).EntireRow.Insert Range(rng.Address).EntireRow.Insert Range(rng.Address).EntireRow.Insert Range(rng.Address).EntireRow.Insert これでいいかと思います。 ■ Range(rng.Address).Resize(5,1).EntireRow.Insert 多分これでもいけると思います。 ちょっと今Excel触れる状況ではないので、確認していませんが。 ■ また、If文が複数書かれていますが、 If rng.Value >= 4 Then 処理 Exit For End If これ1つでいいのではないでしょうか。 なにか意図があってそうしているなら、話は別ですが。
回答ありがとうございます。 試したところできました。 大変助かりました。 If文を3つ書いているのは、 もし4がありば4の上に挿入でループを抜けたいが 4が無いときは5の上に挿入 4も5も無いときは6の上に挿入を書きたくて If文を並べました。
質問者からのお礼コメント
ありがとうございました。 大変、助かりました。
お礼日時:5/27 16:41