- ベストアンサー
VBAでナンバリング
こんにちは。 はじめまして。 VBA初心者です。 教えてください。 VBAであるリストを作成しました。 その表のA列に列を加え、B列にデータがある間、「1、2、3、4、…」とナンバリングしたいと思っています。 列を加えることは出来たのですが、ナンバリングがいまいちうまくいきません。どうか、良い方法をお教えください。 よろしくお願いします。 A B C 1 No. 名前 住所 2 1 青野太郎 東京都 3 2 東野次郎 岡山県 4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こういう事ですかね?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
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
いろいろな方法がありますが一例です。 かなり早いと思います。 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
お礼
早速ありがとうございます。 参考にさせていただきます。 ありがとうございました。
- hosohoso13
- ベストアンサー率44% (138/313)
>> VBAであるリストを作成しました。 配列の中にリストを作っているんですか? すでにエクセルのシートにリストが出来ているんですか? >> その表のA列に列を加え、B列にデータがある間、「1、2、3、4、…」とナンバリングしたいと思っています。 まず元のデータがどうなっているのかと、どういう結果が欲しいのかを書いて下さい。
お礼
早速のご回答ありがとうございます。 下記リストです。 A B C 1 No. 名前 住所 2 青野太郎 東京都 3 東野次郎 岡山県 4 この「No.」のところに、1から数字を入れたいのです。 紛らわしくてすいません。 どうか、汲んでいただけますようよろしくお願いします。
お礼
早速ありがとうございます。 なんとか解決しました。 初心者ながらに経費削減のために色々とやっております。 大変助かりました。 ありがとうございました。