• ベストアンサー

指定の行数に沿ってデータを抜き出すには?

画像のように、A列にデータが3000くらい入力されており、 C列にランダムに行数が入力されています。 そのC列の行数番号の後に続くA列の10個分のをマクロで連続的に抜き出す方法はありますでしょうか。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

マクロのこだわらず、関数で出来ると思いますが、マクロの勉強中であれば 参考に Sub ボタン1_Click() For i = 2 To Range("B65526").End(xlUp).Row Cells(Int((i - 2) / 10) + 2, i - 2 - Int((i - 2) / 10) * 10 + 5).Value = Range("B" & i).Value Next End Sub といったようなコードを試してみてください。

その他の回答 (2)

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

sub Macro1() dim h as range for each h in range("C1:C" & range("C65536").end(xlup).row)  h.offset(0, 2).resize(1, 10).value = application.transpose(range("A1:A10").offset(h).value) next end sub てな具合。

snow-mause
質問者

お礼

みなさんありがとうございます! とても助かりましたm(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! VBAでないので参考にならなかったら無視してください。 E1セルに =IF($C1="","",INDEX($A$1:$A$3000,$C1+COLUMN(A1))) という数式を入れ、列方向と行方向にオートフィルでコピーしてはどうでしょうか? (エラー処理はしていませんので最終行に近い部分の行番号を指定した場合、 データがないと「0」になると思います) 以上、参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m