• 締切済み

特定の列、セル内の数字を認識して行をコピー、挿入

エクセルのマクロでこんなことは可能でしょうか? (1)あるセルに(数字)が入ったとき    (そのセルの列は固定) (2)自動的にそのセルの「行」全体をコピーして    その数字が5なら4行、1なら0行 (入力値より-1行) (3)ひとつ下の行に「コピーしたセルの挿入」で行の追加をする (4)最終行はコピーしない(合計の数字が入ってしまう為) 例 列 A.B.C.D.E 空白.文字列.文字列.1.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.8.文字列←合計の為コピーしない        ↓ 空白.文字列.文字列.1.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.8.文字列←合計の為、そのまま Cの列に3とある場合下に 【3行-(1行) = 2行】を追加コピー 空白.文字列.文字列.3.文字列 の部分。 できれば、コマンドボタンで処理したいと考えております。 お詳しい方、ご教授宜しくお願い致します。

みんなの回答

  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.2

素朴に。 '============↓ ココカラ ↓============ Sub Sample()  Dim i As Long  Dim j As Long  Dim k As Long  Application.ScreenUpdating = False  k = Cells(Rows.Count, "D").End(xlUp).Row - 1  For i = k To 1 Step -1   For j = 1 To Cells(i, "D").Value - 1    Rows(i).Copy    Rows(i + 1).Insert   Next j  Next i  Application.CutCopyMode = False  Application.ScreenUpdating = True End Sub '============↑ ココマデ ↑============ ※挿入処理は、後ろ(下)からやると、番号がズレないのでラクです。 ※動作に問題がなければ、コマンドボタンのSubから呼ぶなり、直接書くなりしてください。 以上ご参考まで。

shu-goo
質問者

お礼

ありがとうございました。 できました。 今後、自分でも勉強していきたいと思います。 ほんとうにありがとうございました。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

>エクセルのマクロでこんなことは可能でしょうか? ご自分では何かコーディングしたのですか? その上で質問しているならそのコードを提示し、どこで躓いているかを明示してください。 それとも自分では何もせず丸投げですか? もし「自分で考える」気が無いなら目的を達するのは困難だと思います。

shu-goo
質問者

補足

何も考えてないわけではないんです。 ただ、Excel初心者で急にやらなければいけなくなり、 急いで、本を読んだり、ネットで勉強したり、 したんですが、わかりませんでした。 もし、気を悪くさせてしまったのならば 本当に申し訳ありませんでした。

関連するQ&A

専門家に質問してみよう