• ベストアンサー

エクセルかマクロで・・・

エクセル関数かマクロで作りたいのですが、   A列に数字B列に個数を入力していくとします。   A列の数字をB列の個数分だけC列に表示したいのです。  例えばA1に300、B1に5、A2に500、B2に6と入力した場合、   C1からC5に300、C6からC11に500、と表示するにはどうしたらよい  でしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

A列にどこまで数字が入るかわからない以上、ワークシート関数では難しいのではないでしょうか。 マクロならこんな感じ。 Sub test01() Dim c As Range Dim n As Long, x As Long With ActiveSheet Set c = .Range("A1") Do Until c = "" n = c.Offset(0, 1).Value x = .Cells(Rows.Count, "C").End(xlUp).Row x = IIf(x = 1, x, x + 1) .Range(.Cells(x, "C"), .Cells(x + n - 1, "C")).Value = c.Value Set c = c.Offset(1, 0) Loop End With Set c = Nothing End Sub

syoukunn
質問者

お礼

早速試したところ、上手くいきました。 ありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Sub try() Dim r As Range, rr As Range With ActiveSheet Set rr = .Range("C1") For Each r In .Range(.[A1], .Cells(Rows.Count, 1).End(xlUp)) Set rr = rr.Resize(r.Offset(0, 1).Value) rr.Value = r.Value Set rr = rr.Offset(r.Offset(0, 1).Value) Next End With End Sub かな。

syoukunn
質問者

お礼

ご回答をありがとうございました。 早速利用させていただきます。 回答がどちらもよかったので、回答順にポイントをつけさせていただきました。ごめんなさい。

関連するQ&A