dポイントプレゼントキャンペーン実施中!

連番を自動作成できるよう、マクロかVBAでも結構ですので教えてください。

例えばC1に123、D1に456、と値を入力した時に
A2以降に123~456の連番が自動作成される、という具合です。
このC1の開始番号とD1の終了番号を変更した時にも対応できるようお願いします!!

Excel2000です

A 回答 (7件)

Range("A2").Value = Range("B1").Value


Range("A2:A65536").DataSeries stop:=Range("C1").Value
とか。
    • good
    • 3
この回答へのお礼

うまくいきました!

ありがとうございます、大変助かりました

お礼日時:2004/01/09 17:36

#5のご回答ではエラーが出るセルが出ると思いますので


修正。
(1)A2に=C1
(2)A3のセルに=IF(ROW()<=$D$1-$C$1+2,A2+1,"")
+1でなく+2となる、1は第2行目であるA2セルから始まるため。
(3)A4以下十分下の行まで式を複写する
    • good
    • 0

・・・書き直せるものなら修正させて欲しくて泣きそうな#1です。

。。

#2が更に間違っておりますです。
lncnt ではなく lngrow でございます。(涙)

でも#3さんの方法でうまくいったようですね。よかったです。(^-^)
    • good
    • 0

とっておきめんどくさがり屋さん仕様のものを...。



連番を開始したいセル(仮にC2とする)に以下を入力。
=IF(C1+1<=$D$1,C1,"")
その下からず~っと下までは、以下を入力(コピー)。
=IF(C2+1<=$D$1,C2+1,"")

以上。
    • good
    • 0

こんにちは。

maruru01です。

関数での方法を。

A2に、

=IF(COUNT($C$1:$D$1)=2,IF($C$1>$D$1,"",IF(MAX($C$1-1,$A$1:A1)+1>$D$1,"",MAX($C$1-1,$A$1:A1)+1)),"")

と入力して、下の行へ十分な行数コピーしておきます。
    • good
    • 1

#1です。

・・・思いっきり間違えてました。

× cells(2,1).value = lngloop
○ cells(lngcnt,1).value = lngloop

です。ごめんなさい。
    • good
    • 0
この回答へのお礼

すばやい回答ありがとうございます。

#1は、1個のセルに順に数値が入力され、終了番号しか残りませんでした。
#2は、エラーが出てしまいました。。。

お礼日時:2004/01/09 17:35

dim lngLoop as long


dim lngRow as long

lngrow = 2
for lngloop = range("C1").value to range("D1").value
 cells(2,1).value = lngloop
 lngrow = lngrow + 1
next

この場で思いつきで書いたのでこのままで動く保証は致しかねますが。(笑)
イメージとしてつかんでいただければ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています