アルファベットで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
コメント