- ベストアンサー
開始と終了番号を指定した連番(Excel)
連番を自動作成できるよう、マクロかVBAでも結構ですので教えてください。 例えばC1に123、D1に456、と値を入力した時に A2以降に123~456の連番が自動作成される、という具合です。 このC1の開始番号とD1の終了番号を変更した時にも対応できるようお願いします!! Excel2000です
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
Range("A2").Value = Range("B1").Value Range("A2:A65536").DataSeries stop:=Range("C1").Value とか。
その他の回答 (6)
- imogasi
- ベストアンサー率27% (4737/17069)
#5のご回答ではエラーが出るセルが出ると思いますので 修正。 (1)A2に=C1 (2)A3のセルに=IF(ROW()<=$D$1-$C$1+2,A2+1,"") +1でなく+2となる、1は第2行目であるA2セルから始まるため。 (3)A4以下十分下の行まで式を複写する
・・・書き直せるものなら修正させて欲しくて泣きそうな#1です。。。 #2が更に間違っておりますです。 lncnt ではなく lngrow でございます。(涙) でも#3さんの方法でうまくいったようですね。よかったです。(^-^)
- austin32
- ベストアンサー率31% (11/35)
とっておきめんどくさがり屋さん仕様のものを...。 連番を開始したいセル(仮にC2とする)に以下を入力。 =IF(C1+1<=$D$1,C1,"") その下からず~っと下までは、以下を入力(コピー)。 =IF(C2+1<=$D$1,C2+1,"") 以上。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。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)),"") と入力して、下の行へ十分な行数コピーしておきます。
#1です。・・・思いっきり間違えてました。 × cells(2,1).value = lngloop ○ cells(lngcnt,1).value = lngloop です。ごめんなさい。
お礼
すばやい回答ありがとうございます。 #1は、1個のセルに順に数値が入力され、終了番号しか残りませんでした。 #2は、エラーが出てしまいました。。。
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 この場で思いつきで書いたのでこのままで動く保証は致しかねますが。(笑) イメージとしてつかんでいただければ。
お礼
うまくいきました! ありがとうございます、大変助かりました