アルファベットの26進(ツイッターお題)
ツイッターで出されたお題をVBAで回答したものです。
次のアルファベットを桁上げし、
ABA,ABC?ZZZまで計算するコードを書きたい。
お題のツイート
よくある方法
10進数値を26で割っていく方法で各桁を0~25の数値に変換し、
その後、0~25を"A"~"Z"に変換して作成する方法です。
文字コードは、"A"が65、そこから1ずつ増えていき、"Z"が90です。
つまり、0~25に65を加算した文字コードが"A"~"Z"になります。
上記ツイートを辿ればいろいろな回答が出ています。
回答したVBAコード
Sub main()
Const alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim i, str As String
str = "AAA": Debug.Print str
For i = 1 To 26 * 26 * 26 - 1
If Mid(str, 3, 1) = "Z" Then
If Mid(str, 2, 1) = "Z" Then
Mid(str, 1, 1) = Mid(alpha, InStr(alpha, Mid(str, 1, 1)) + 1, 1)
Mid(str, 2, 1) = "A"
Else
Mid(str, 2, 1) = Mid(alpha, InStr(alpha, Mid(str, 2, 1)) + 1, 1)
End If
Mid(str, 3, 1) = "A"
Else
Mid(str, 3, 1) = Mid(alpha, InStr(alpha, Mid(str, 3, 1)) + 1, 1)
End If
Debug.Print str
Next
End Sub
あえて、解説は省略します。
使用している関数等は、
注意点はMid関数とMidステートメントの違いです。
上記解説ページを参考に、VBAコードを読み解いてみてください。
AAB
・・・
AAY
AAZ
ABA
ABB
・・・
AZZ
BAA
BAB
・・・
ZZY
ZZZ
同じテーマ「ツイッター出題回答 」の記事
ツイッターで出されたVBAのお題(悪魔のCSV)をやってみた
「VBAで導関数を求めよ」ツイッターのお題をやってみた
ツイッターのお題「君の名は?」
ツイッターのお題「CSV編集」
アルファベットの26進(ツイッターお題)
ナンバープレート数字遊び:ツイッターお題
サロゲートペアに対応した自作関数(Len,Left,Mid,Right)
迷路にネコが挑戦したら、どうなるかな…
迷路ネコが影分身の術を体得したら…
VBAで漢数字を算用数字に変換
新着記事NEW ・・・新着記事一覧を見る
生成AIが暴いた「VBAオワコン説」の盲点|問われるのは言語ではなく評価軸|エクセル雑感(2026-07-04)
【ITとは何か】Excel・VBAを学ぶ前に知っておきたい「4つの本質」|エクセル雑感(2026-06-24)
2つのシート名を交換するVBAをGeminiに作らせてみた。|VBA技術解説(2026-05-22)
ヘッダーに合わせて列をソートして値貼り付けするスマートな方法|VBAサンプル集(2026-05-20)
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)|エクセル入門(2026-05-19)
Excel主要関数 習得難易度 10段階(文字列・日付除く)|エクセル雑感(2026-04-27)
Excelのシート5分類|エクセル雑感(2026-03-27)
グループ別に全員共通の重複期間を算出|エクセル練習問題(2026-03-12)
ハイフン区切り文字列の『最初』と『最後』を抽出・結合|エクセル練習問題(2026-02-23)
AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.日本の祝日一覧|Excelリファレンス
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.Excelショートカットキー一覧|Excelリファレンス
6.繰り返し処理(For Next)|VBA入門
7.RangeとCellsの使い方|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.

