プロが教えるわが家の防犯対策術!

エクセルのマクロでこんなことは可能でしょうか?

(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.文字列 の部分。

できれば、コマンドボタンで処理したいと考えております。
お詳しい方、ご教授宜しくお願い致します。

A 回答 (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から呼ぶなり、直接書くなりしてください。

以上ご参考まで。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/08/19 15:15

>エクセルのマクロでこんなことは可能でしょうか?


ご自分では何かコーディングしたのですか?
その上で質問しているならそのコードを提示し、どこで躓いているかを明示してください。

それとも自分では何もせず丸投げですか?
もし「自分で考える」気が無いなら目的を達するのは困難だと思います。

この回答への補足

何も考えてないわけではないんです。

ただ、Excel初心者で急にやらなければいけなくなり、
急いで、本を読んだり、ネットで勉強したり、
したんですが、わかりませんでした。

もし、気を悪くさせてしまったのならば
本当に申し訳ありませんでした。

補足日時:2009/08/11 18:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!