連番を振るのは数字が多いですが、まれにアルファベットでa~zまでで採番したいケースがあります。
単純にFor~NextでLoopすればよいのですが、Asc関数をうまく使う必要があります。
a~zで採番するサンプルコード
使用したい文字(小文字なのか大文字なのか、半角文字なのか全角文字なのか)でコードをコピペしてください。
'■a~zまでを自動採番するプロシージャ
Public Sub sample()
Dim i As Long
'■半角小文字の場合
For i = Asc("A") To Asc("Z")
Debug.Print Chr(i)
Next i
'■半角大文字の場合
For i = Asc("A") To Asc("Z")
Debug.Print Chr(i)
Next i
'■全角小文字の場合
For i = Asc("a") To Asc("z")
Debug.Print Chr(i)
Next i
'■全角大文字の場合
For i = Asc("A") To Asc("Z")
Debug.Print Chr(i)
Next i
End Sub
その他
実際にはa~zをセルに書き込む場合がほとんどかと思います。
下記のようなパーツを作成していますのでお使いください。
'■指定回数のアルファベットの連番を作成するパーツ
Public Sub call_AtoZ(rng As Range, flg As Long)
Dim i As Long
Dim chk As Long: chk = 1
Dim sRow As Long: sRow = rng.Row
For i = Asc("a") To Asc("z")
'■セルにa~zまで値を入れる
Cells(sRow, rng.Column) = Chr(i)
'■指定された回数になれば本関数から抜ける
If chk = flg Then Exit Sub
sRow = sRow + 1
chk = chk + 1
Next i
End Sub
実際の使い方
Public Sub sample()
'■セルA1からaから採番し、10個目の文字を採番すれば、採番終了する
Call call_AtoZ(Range("A1"), 10)
'セルA1→a
'セルA2→b
'セルA3→c
'セルA4→d
'セルA5→e
'・
'・
'・
'セルA10→j
End Sub
関連記事
a~zでは足りず、a~zzまでやaa~zzまで処理したい場合はこちらの記事を参照してください。



コメント