アルファベットでa~zまでで採番はこちらの記事でできます。
ただa~zまでの26文字で足りず、aa~zzまで採番したいケースがあります。
aa~zzで採番するサンプルコード
使用したい文字(小文字なのか大文字なのか、半角文字なのか全角文字なのか)でコードをコピペしてください。
Public Sub sample()
Dim i As Long, k As Long
'■A~Zまでを自動採番
For i = Asc("A") To Asc("Z")
Debug.Print Chr(i)
Next i
'■AA~ZZまでを自動採番
For i = Asc("A") To Asc("Z")
For k = Asc("A") To Asc("Z")
Debug.Print Chr(i) & Chr(k)
Next k
Next i
'上記は
'半角大文字文字の場合です。
'半角小文字の場合はAsc("a") To Asc("z")
'全角小文字の場合はAsc("a") To Asc("z")
'全角大文字の場合はAsc("A") To Asc("Z")
'に書き換えてください。
End Sub
その他
実際にはaa~zzをセルに書き込む場合がほとんどかと思います。
下記のようなパーツを作成していますのでお使いください。
Public Sub call_AtoZZ(rng As Range, flg As Long)
Dim i As Long, k As Long
Dim chk As Long: chk = 1
Dim sRow As Long: sRow = rng.Row
'■セルにa~zまで値を入れる
For i = Asc("a") To Asc("z")
Cells(sRow, rng.Column) = Chr(i)
'■指定された回数になれば本関数から抜ける
If chk = flg Then Exit Sub
sRow = sRow + 1
chk = chk + 1
Next i
'■flgを満たさなければ続けて、セルにaa~zzまで値を入れる
For i = Asc("A") To Asc("Z")
For k = Asc("A") To Asc("Z")
Debug.Print Chr(i) & Chr(k)
Next k
'■指定された回数になれば本関数から抜ける
If chk = flg Then Exit Sub
sRow = sRow + 1
chk = chk + 1
Next i
End Sub
実際の使い方
Public Sub sample()
'■セルA1からaから採番し、30個目の文字を採番すれば、採番終了する
Call call_AtoZZ(Range("A1"), 30)
'セルA1→a
'セルA2→b
'セルA3→c
'セルA4→d
'セルA5→e
'・
'・
'・
'セルA26→z
'セルA27→aa
'セルA28→ab
'セルA29→ac
'セルA30→ad
End Sub



コメント