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

エクセルで自動的に連続番号が入るようにしたいのですが、例えば規則的に1.2.3と並んでいる番号表(下記の左たて列)を、もし途中で4と入力したら(真ん中たて列))次は5と自動的に入るようにしたいのですが、どうすればよいでしょうか。もし1.2.3.4.5と並んでいる列を、途中で1と入力したら(下記右たて列)、1.2.3.1.2となるようにしたいのです。
セルを選んで下方にドローして連続データを作成するのではなく、もともと入っている数字を自動的に変更できる方法が知りたいです。


111
242
353
461
572

A 回答 (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 をしたり、ほかからのデータを貼り付けたりした場合には対応してません。
    • good
    • 0
この回答へのお礼

さっそくご回答ありがとうございます。
マクロなんですね。。
難しそうだけど、何とか頑張ってやってみます。
ありがとうございました。

お礼日時:2010/05/11 21:44

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