- ベストアンサー
エクセルで自動的に連続番号が入るようにしたいのですが、例えば規則的に1
エクセルで自動的に連続番号が入るようにしたいのですが、例えば規則的に1.2.3と並んでいる番号表(下記の左たて列)を、もし途中で4と入力したら(真ん中たて列))次は5と自動的に入るようにしたいのですが、どうすればよいでしょうか。もし1.2.3.4.5と並んでいる列を、途中で1と入力したら(下記右たて列)、1.2.3.1.2となるようにしたいのです。 セルを選んで下方にドローして連続データを作成するのではなく、もともと入っている数字を自動的に変更できる方法が知りたいです。 111 242 353 461 572
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どのセルの値を変更してもそのようになってほしい、というのであれば、マクロになります。 そのシートのタブ(シートの下の"Sheet1"とかあるところ)を右クリックして、 「コードの表示」をクリックします。 MicrosoftVisual Basic というウインドが 開くので、右側の真っ白けのところに次のコードをコピー・貼り付けをします。 '----------------ここから Private Sub Worksheet_Change(ByVal Target As Range) Dim R As Long '列は3列目(C列)まで、行は5行目までで行なう場合 Const CMax = 3: Const RMax = 5 If Target.Column > CMax Or Target.Row > RMax Then Exit Sub Application.EnableEvents = False For R = Target.Row To RMax Cells(R, Target.Column).Value = Target.Value + R - Target.Row Next R Application.EnableEvents = True End Sub '----------------ここまで これで、A1 B1 C1 に 1 を入れれば、その下に連続データが入り、どこかのセルのデータを変えると、そこから下が新しい連続データになります。 ※複数セルを選択して ctrl+Enter をしたり、ほかからのデータを貼り付けたりした場合には対応してません。
お礼
さっそくご回答ありがとうございます。 マクロなんですね。。 難しそうだけど、何とか頑張ってやってみます。 ありがとうございました。