- ベストアンサー
エクセルかマクロで・・・
エクセル関数かマクロで作りたいのですが、 A列に数字B列に個数を入力していくとします。 A列の数字をB列の個数分だけC列に表示したいのです。 例えばA1に300、B1に5、A2に500、B2に6と入力した場合、 C1からC5に300、C6からC11に500、と表示するにはどうしたらよい でしょうか。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
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 かな。
お礼
ご回答をありがとうございました。 早速利用させていただきます。 回答がどちらもよかったので、回答順にポイントをつけさせていただきました。ごめんなさい。
お礼
早速試したところ、上手くいきました。 ありがとうございました。