• ベストアンサー

最終データまで下方に繰り返すマクロ

office xp excel シート1A1:H100 の表があるとします。 A3からデータが入っています。 A3:H8を選択し、シート2のA3:H8にコピペします。 次にシート1に戻ってA9:H14を選択して、シート2の同じA3:H8に上書きコピペします。 これをA100まで繰り返しますが、途中でデータがなくなればそこで終了します。 この6行8列をひとつの選択単位として下方にずれていくにはどういうマクロを組めばいいですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

sub macro1()  dim i as long  worksheets("Sheet1").select  for i = 3 to 100 step 6   if cells(i, "A") = "" then   exit sub   end if   cells(i, "A").resize(6, 8).copy destination:=worksheets("Sheet2").range("A3:H8")  next i end sub #1) 簡単な算数ですが,3行目から6行ステップで進行していくのでは,A100までになりません。 #2) 「途中でデータが無くなる」とは,具体的にどういうシチュエーションなのか不明瞭です。 #3) 終了の条件が来るまでイチイチコピーを繰り返し,一回前の実施結果を潰していくのはいかにも無駄な作業ですね。 そういった部分をきちんと手当てして,サンプルのマクロを応用して自作してください。 sub macro2()  dim i as long  for i = 3 to 99 step 6   if worksheets("Sheet1").cells(i, "A") = "" then    worksheets("Sheet1").cells(i - 6, "A").resize(6, 8).copy _     destination:=worksheets("Sheet2").range("A3:H8")    exit sub   end if  next i end sub

noname#150307
質問者

お礼

ありがとうございます。 すこし進みました。 質問の表現方法というのはむずかしいものですね。

その他の回答 (1)

回答No.1

  シート2のA3:H8は最後にコピーした内容になってしまうのですが、A3からA100までを繰り返す意味が理解できない。    

noname#150307
質問者

お礼

回答ありがとうございます。 >シート2のA3:H8は最後にコピーした内容になってしまうのですが、 かまいません。 >A3からA100までを繰り返す意味が理解できない。 6行8列をひとつの枠として他で編集しています。 この作業が終了したらまた次の下方の6行8列を選択して編集したいわけです。

関連するQ&A