• ベストアンサー

開始と終了番号を指定した連番(Excel)

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

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

  • ベストアンサー
回答No.3

Range("A2").Value = Range("B1").Value Range("A2:A65536").DataSeries stop:=Range("C1").Value とか。

kalmit
質問者

お礼

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

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.7

#5のご回答ではエラーが出るセルが出ると思いますので 修正。 (1)A2に=C1 (2)A3のセルに=IF(ROW()<=$D$1-$C$1+2,A2+1,"") +1でなく+2となる、1は第2行目であるA2セルから始まるため。 (3)A4以下十分下の行まで式を複写する

noname#11856
noname#11856
回答No.6

・・・書き直せるものなら修正させて欲しくて泣きそうな#1です。。。 #2が更に間違っておりますです。 lncnt ではなく lngrow でございます。(涙) でも#3さんの方法でうまくいったようですね。よかったです。(^-^)

  • austin32
  • ベストアンサー率31% (11/35)
回答No.5

とっておきめんどくさがり屋さん仕様のものを...。 連番を開始したいセル(仮にC2とする)に以下を入力。 =IF(C1+1<=$D$1,C1,"") その下からず~っと下までは、以下を入力(コピー)。 =IF(C2+1<=$D$1,C2+1,"") 以上。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.4

こんにちは。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)),"") と入力して、下の行へ十分な行数コピーしておきます。

noname#11856
noname#11856
回答No.2

#1です。・・・思いっきり間違えてました。 × cells(2,1).value = lngloop ○ cells(lngcnt,1).value = lngloop です。ごめんなさい。

kalmit
質問者

お礼

すばやい回答ありがとうございます。 #1は、1個のセルに順に数値が入力され、終了番号しか残りませんでした。 #2は、エラーが出てしまいました。。。

noname#11856
noname#11856
回答No.1

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 この場で思いつきで書いたのでこのままで動く保証は致しかねますが。(笑) イメージとしてつかんでいただければ。

関連するQ&A