Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3695 / 13644 ツリー ←次へ | 前へ→

【60633】行のコピぺについて Excel VBA 初心者です 09/3/6(金) 0:40 質問[未読]
【60637】Re:行のコピぺについて 超初心者 09/3/6(金) 9:36 発言[未読]
【60647】Re:行のコピぺについて つん 09/3/6(金) 13:26 発言[未読]
【60664】Re:行のコピぺについて Excel VBA 初心者です 09/3/7(土) 1:41 お礼[未読]

【60633】行のコピぺについて
質問  Excel VBA 初心者です  - 09/3/6(金) 0:40 -

引用なし
パスワード
   D列の値が1以上の時、その行をコピーし、
かつ、その値引くことの1行分、行をペーストし、
ペーストした行のD列の値のみ、
空白セルとなるLogicを教えてください!

イメージ図

  A   B   C   D
1 AAA    BBB  CCC  1
2 AAA    CCC  BBB  2
3 BBB    AAA  CCC  3
4 CCC    AAA  BBB  1
5 AAA  CCC  BBB  2

↓Macro実行後

  A   B    C   D
1 AAA    BBB  CCC  1
2 AAA    CCC  BBB  2
3 AAA    CCC  BBB (空白セル)
4 BBB    AAA  CCC  3
5 BBB    AAA  CCC (空白セル)
6 BBB    AAA  CCC (空白セル)
7 CCC    AAA  BBB  1
8 AAA  CCC  BBB  2
9 AAA  CCC  BBB (空白セル) 

【60637】Re:行のコピぺについて
発言  超初心者  - 09/3/6(金) 9:36 -

引用なし
パスワード
   ▼Excel VBA 初心者です さん:
手動でコピーする動作をマクロの自動記録を使用し記録してみました。
'--------------------------------------
Rows("18:18").Select
Selection.Copy
Rows("19:19").Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False

Rows("23:23").Select
Selection.Copy
Rows("24:26").Select
Selection.Insert Shift:=xlDown
Application.CutCopyMode = False
'--------------------------------------
18行をその下にコピー挿入
23行をその下に3行分コピー挿入

これらをヒントに
1.D列を順にアクティブに。行数を変数に格納([行番号])しておく。
2.アクティブセルの値が2以上であれば、コピー
 1であれば、+1行移動して1.へ
3.変数にアクティブセルの値−1を格納([行数])
4.1.の[行番号]+1〜+3.の[行数]の行を選択
5.挿入
(6.コピーモードをクリア)
7.D列の[行番号]+1〜+[行数]の範囲をクリア
8.アクティブセルを1.の[行番号]+3.の[行数]のD列へ移動
9.アクティブセルが空白または指定の行数まで1.へ戻って繰り返し

ロジックはこんなものでしょうか

【60647】Re:行のコピぺについて
発言  つん  - 09/3/6(金) 13:26 -

引用なし
パスワード
   こんにちは^^

横から失礼します。

手順としては、超初心者さんのおっしゃるとおりかと思いますが、
セルをいちいちアクティブにしなくても出来ると思います。

ループで回して、D列の値を見ていって、
それが「2以上」なら、D列の値から1引いた数だけ、
その列の下に行を挿入。
その行の「A列からC列」の値を、挿入した行にコピー
で、出来るかと思います。

そんとき、下から処理していくのがミソかなあ。
行の挿入や削除を含む処理をする場合、上からすると、おかしくなっていきます。

【60664】Re:行のコピぺについて
お礼  Excel VBA 初心者です  - 09/3/7(土) 1:41 -

引用なし
パスワード
   超初心者さん、つんさん、

こんな僕の為にご回答いただき
ありがとうございました*´∀`)ノノ:*:゚'

なんとか無事自分でマクロを組むことができました☆

この調子でもっと複雑なLogicを組めるように
努力していきたいと思います!

3695 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free