- ベストアンサー
エクセル マクロでの行挿入は・・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 一例です。 一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。 Sub test() Dim i As Long For i = Cells(Rows.Count, 2).End(xlUp).Row To 3 Step -1 If Cells(i, 5) >= 4 And Cells(i, 5) <= 6 Then Rows(i + 1).Insert Range(Cells(i, 2), Cells(i, 6)).Copy Cells(i + 1, 2).Select ActiveSheet.Paste ElseIf Cells(i, 5) >= 7 And Cells(i, 5) <= 9 Then Rows(i + 1 & ":" & i + 2).Insert Range(Cells(i, 2), Cells(i, 6)).Copy Cells(i + 1, 2).Select ActiveSheet.Paste Cells(i + 2, 2).Select ActiveSheet.Paste End If Next i Application.CutCopyMode = False Cells(Rows.Count, 2).End(xlUp).Offset(1).Select End Sub こんなんではどうでしょうか?m(__)m
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
おじさんです! 何とか希望に近い形になって良かったですぅ~!!(^^)! 余計なお世話かもしれませんが、今後のお役に立てばと思いまたまた顔を出してしまいました。 基本的に、行(列)の挿入・削除は最後から行います。 そうしないと挿入・削除を行うたびに元の行(列)番号が変わってしまいますので、 全く的外れな表示になってしまいます。 今度、ご自身でコードを作られる時は頭の片隅にこのコトを置いておけばお役に立つと思いますよ。 尚、当方が示したコードがベストではありませんのでコードのあっちゃこっちゃをアレンジして自分なりのコードにすることも大事だと思います。 VBAに関しては「これでないとダメ!」ということはありません。 どんどん失敗して自分なりに試行錯誤することも大切かと思います。 どうしてもダメなときは「マクロの記録」を利用すれば良いと思います。 (実際はここまで必要ないだろう!って感じのコードになってしまいますが・・・) 焦らずにボチボチやってくださいねぇ~!ではでは・・・(@^^)/~~~
お礼
(=^▽^=) わー こんばんは☆ こころ優しき達人 おじさま! お仕事 お忙しい中、また 新たに ぶち嬉しいアドバイス・・・・ 本当に、ありがとうございます (;_;q) 思いがけず、再び優しさ溢れる ご返答をいただき、感謝はつきません。 マクロを作る時は、そうされっとってんですね! なるほど~ 行挿入・削除は、最後から考えていくんじゃー・・・・(・o・) まだまだ 自分で作る所まで 到達するには 時間が 相当かかりそうです r(!_!) さきほどの事ですが、いろんなマクロのコードに 自分で解説をつけていた その勉強中に コード画面の『プロジェクトエクスプローラ』と呼ばれている左の所が 突然、何の前触れもなく、いきなり あとかたもなく消えてしまいまして、 エエェェ Σ( ̄□ ̄)ェェエエエッ!? どこ行ったん!? あっちこっちを30分くらいクリックしておりましたら、 なんと突然 いきなり また完全復活しました。 復活して よかった! なぜなのか・・・さっぱりわからず・・・・ 私が どこかをクリックしたから消え、更に どこかをクリックしたので現れた ただそれだけの事なのでしょうね。 深夜すぎてもパソコンに向かっているにもかかわらず、そんな状態の今なので、 こころ優しき達人の足元手前 100キロメートル・・・といったあたりでしょうか。 アドバイス、とーっっても勉強になりました。 10センチくらい 進んだようなきがします (^ー^) 逆に最後から考える・・ということを頭において、勉強を続けます☆ 行ってきます!
お礼
(・0・)ノノ わっ! すごっ! ほんまじゃっ! こんばんは、tom04さん (^ー^) お疲れの所、いつも早くに時間を頂戴しまして、すみません。 マクロ使用可のパソコンで、早速 使わせていただきます。 あんなに時間のかかってた作業が一瞬で・・・ マクロの凄さと、 マクロが作れる方を 心から尊敬します。 私もいつか、 教えていただいている tom04さんのような、 『こころ優き達人』になれるように、もっと勉強します(=^▽^=)pq じゃけど速度が・・・おそすぎっ