Excel VBA質問箱 IV

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

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


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

【5959】分割→コピー(II) jun 03/6/11(水) 10:51 質問
【5981】Re:分割→コピー(II) パピー(PAPIー) 03/6/11(水) 13:14 回答
【5983】Re:分割→コピー(II) パピー(PAPIー) 03/6/11(水) 13:26 回答
【6016】Re:分割→コピー(II) jun 03/6/12(木) 9:04 お礼

【5959】分割→コピー(II)
質問  jun  - 03/6/11(水) 10:51 -

引用なし
パスワード
       A     B     C      D    E
 1  0.00        0.00   12.25   0.00
 2  12.25  0.00   12.25   15.89  10.00   
 3  15.89  10.00  15.89   17.25  -5.3
 4  17.25  -5.3   17.25   17.69  14.25
 5  17.69  14.25
 6  20.36  -1.0
 7  25.86  -10.0
 8  29.31  7.5

※わからないことがあるので、ご教授願います。
 上のような入力があり、
 A1からA2まではB2である(※1)
 A2からA3まではB3である(※2)
     ・
     ・
     ・
 という意味です。
 そこで、(※1)をC1・D1・E1に(※2)をC2・D2・E2に、・・・
 という風に入力するマクロを考えていますがなかなかわかりません。

【5981】Re:分割→コピー(II)
回答  パピー(PAPIー)  - 03/6/11(水) 13:14 -

引用なし
パスワード
   ▼jun さん:こんにちは。
サンプルを作ってみました。
参考になれば幸いです。

A列の最後の行を求めて、For文でくりかえします。
簡単ですからサンプルを見ればご理解いただけると思います。

Sub test1()
Dim LstGyo, i As long
  LstGyo = Range("A65536").End(xlUp).Row  'A列の最後の行数を取得
  For i = 1 To LstGyo
    Range("C" & i) = Range("A" & i)
    Range("D" & i) = Range("A" & i + 1)
    Range("E" & i) = Range("B" & i + 1)
  Next
End Sub

【5983】Re:分割→コピー(II)
回答  パピー(PAPIー)  - 03/6/11(水) 13:26 -

引用なし
パスワード
   追伸です。
セルの書式までコピーするなら、For 〜 Nextの間の3行を以下のコードに置き
換えて下さい。
先ほどのは、数値のみコピーします、書式はコピーされません。

    Range("A" & i).Copy Destination:=Range("C" & i)
    Range("A" & i + 1).Copy Destination:=Range("D" & i)
    Range("B" & i + 1).Copy Destination:=Range("E" & i)

【6016】Re:分割→コピー(II)
お礼  jun  - 03/6/12(木) 9:04 -

引用なし
パスワード
   ▼パピー(PAPIー) さん:
おはようございます。”PAPI-”さん(^^)
ばっちし解決しました。ありがとうございました。

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