• ベストアンサー

同じ動作を指定の場所まで繰り返す方法

マクロ初心者です。下記をマクロでやりたいのですが、よくわかりません。 ・A10~A14の範囲で、A1~A5に入っている文字を貼り付ける。 例えば、A1を選んで、A10が空いていたらA10へ。空いてなかったらA11へ というように、上から順に貼り付けて空いていなかったらひとつ下へ移動するをA14まで繰り返すやり方、教えてください。 自分で考えたものだと、A12へ貼り付けができません。 For~Nextを使えばいいのかと思うんですが、うまく文を組み立てられませんでした。 If Range("A10").Value = "" Then Range("A10").Value = Range("A2") Else Range("A10").Offset(1, 0).Value = Range("A2") End If よろしくおねがいします。

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

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

## 私は普段、cellsを使うのですが、ま、rangeとoffsetを使ってみましょう。 dim ix1 as single ix1 = 0 do until ix1 > 65531 '最下行を65535として、5行分手前まで判定 If Range("A10").Offset(ix1, 0).Value = "" Then Range("A10").Offset(ix1, 0).Value = Range("A1").value ・・・ exit do End If ix1 = ix1 + 1 loop

kerobobo
質問者

お礼

できました!! 数日間ずっと悩んでいたのに、あっと言う間に解決です。 ありがとうございました(^^)

関連するQ&A