Excel VBA質問箱 IV

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

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


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

【23288】セルのコピーについて sogo 05/3/18(金) 12:49 質問[未読]
【23289】Re:セルのコピーについて IROC 05/3/18(金) 12:55 回答[未読]
【23291】Re:セルのコピーについて sogo 05/3/18(金) 13:10 質問[未読]
【23296】Re:セルのコピーについて IROC 05/3/18(金) 14:26 回答[未読]
【23302】Re:セルのコピーについて sogo 05/3/18(金) 15:57 質問[未読]
【23304】Re:セルのコピーについて IROC 05/3/18(金) 16:20 回答[未読]
【23317】Re:セルのコピーについて IROC 05/3/18(金) 17:01 回答[未読]
【23328】Re:セルのコピーについて sogo 05/3/18(金) 17:38 お礼[未読]
【23318】Re:セルのコピーについて sogo 05/3/18(金) 17:01 質問[未読]

【23288】セルのコピーについて
質問  sogo  - 05/3/18(金) 12:49 -

引用なし
パスワード
   教えてください。

例えばセル範囲(A1:A15)の範囲をコピーして、
別の範囲に1行おき(B1,B3,B5,…B30)
にコピーしたい場合の方法を知りたいのですが…。

お願いします。

【23289】Re:セルのコピーについて
回答  IROC  - 05/3/18(金) 12:55 -

引用なし
パスワード
   マクロの記録でできますよ。試してみてください。

【23291】Re:セルのコピーについて
質問  sogo  - 05/3/18(金) 13:10 -

引用なし
パスワード
   ▼IROC さん:
>マクロの記録でできますよ。試してみてください。

実は、コピーしたい範囲(A1:A15→A16:A30・…15行づつ範囲は移動)の先頭セルが空白になるまで処理を繰り返したいのです。

ちなみにコピーする範囲(B1,B3,…B30)は固定です。

【23296】Re:セルのコピーについて
回答  IROC  - 05/3/18(金) 14:26 -

引用なし
パスワード
   このようなことでよいのでしょうか?

Dim i As Long
Dim s As Long

  s = 1
  
  For i = 1 To 15
    Cells(s, 2).Value = Cells(i, 1).Value
    s = s + 2
  Next i

【23302】Re:セルのコピーについて
質問  sogo  - 05/3/18(金) 15:57 -

引用なし
パスワード
   ▼IROC さん:
>このようなことでよいのでしょうか?
>
>Dim i As Long
>Dim s As Long
>
>  s = 1
>  
>  For i = 1 To 15
>    Cells(s, 2).Value = Cells(i, 1).Value
>    s = s + 2
>  Next i

先頭セルが空白になるまで処理を続けるには、どのように書けばよいですか?
初心者で申し訳ないですが・・。

【23304】Re:セルのコピーについて
回答  IROC  - 05/3/18(金) 16:20 -

引用なし
パスワード
   For i = 1 To Range("A65536").End(Xlup).Row

で、A列の最下行までループできます。

【23317】Re:セルのコピーについて
回答  IROC  - 05/3/18(金) 17:01 -

引用なし
パスワード
   Dim i As Long
Dim s As Long
Dim r As Long

  
For r = 1 To Worksheets("Sheet1").Range("a65536").End(xlUp).Row Step 15
  
  s = 1
  
  For i = r To r + 15
    Worksheets("Sheet2").Cells(s, 2).Value = Worksheets("Sheet1").Cells(i, 1).Value
    s = s + 2
  Next i
  
  Worksheets("Sheet2").PrintPreview
Next r

【23318】Re:セルのコピーについて
質問  sogo  - 05/3/18(金) 17:01 -

引用なし
パスワード
   ▼IROC さん:
>For i = 1 To Range("A65536").End(Xlup).Row
>
>で、A列の最下行までループできます。

すみません。

求める結果が少し違います。

まず、1行目から15行目までを選択して、別シートの移動先に移動させて(1行おきに)、
そこで印刷、次に16行目から30行目までを選択して、同じ移動先に(1行おき)移動させて、印刷・・という処理の繰り返しをして、先頭セル(例えば31行目)が空白になったら、処理を終わるといった具合なのですが・・。

いかがしたらよろしいでしょうか?
説明不足ですみません・・。

【23328】Re:セルのコピーについて
お礼  sogo  - 05/3/18(金) 17:38 -

引用なし
パスワード
   ▼IROC さん:

うまくいきました。
どうもありがとうございました。

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