• ベストアンサー

VBAでナンバリング

こんにちは。 はじめまして。 VBA初心者です。 教えてください。 VBAであるリストを作成しました。 その表のA列に列を加え、B列にデータがある間、「1、2、3、4、…」とナンバリングしたいと思っています。 列を加えることは出来たのですが、ナンバリングがいまいちうまくいきません。どうか、良い方法をお教えください。 よろしくお願いします。   A   B   C 1 No.  名前  住所 2 1  青野太郎 東京都 3 2  東野次郎 岡山県 4     

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

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

こういう事ですかね?A列を追加した後にVBAに書いて実行してください。 Private Sub PrintNumber() Dim i As Long i=2 '開始行 Do While(1) if Range("B" & i).Cells = "" Then Exit Do Range("A" & i).Cells = i - 1 i=i+1 Loop End Sub

10key
質問者

お礼

早速ありがとうございます。 なんとか解決しました。 初心者ながらに経費削減のために色々とやっております。 大変助かりました。 ありがとうございました。

その他の回答 (2)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

いろいろな方法がありますが一例です。 かなり早いと思います。 Sub Sample01() Columns("A:A").Insert Shift:=xlToRight '列挿入 Range("A1").Value = "No." x = Range("B" & Rows.Count).End(xlUp).Row '最終行取得 With Range("A2:A" & x) .FormulaR1C1 = "=Row()-1" '式挿入 .Copy 'コピー .PasteSpecial Paste:=xlValues '値貼り付け End With Application.CutCopyMode = False End Sub

10key
質問者

お礼

早速ありがとうございます。 参考にさせていただきます。 ありがとうございました。

回答No.1

>> VBAであるリストを作成しました。 配列の中にリストを作っているんですか? すでにエクセルのシートにリストが出来ているんですか? >> その表のA列に列を加え、B列にデータがある間、「1、2、3、4、…」とナンバリングしたいと思っています。 まず元のデータがどうなっているのかと、どういう結果が欲しいのかを書いて下さい。

10key
質問者

お礼

早速のご回答ありがとうございます。 下記リストです。   A   B   C 1 No.  名前  住所 2    青野太郎 東京都 3    東野次郎 岡山県 4 この「No.」のところに、1から数字を入れたいのです。 紛らわしくてすいません。 どうか、汲んでいただけますようよろしくお願いします。    

専門家に質問してみよう