k01ken’s b10g

He110 W0r1d!

VBA(Excel)でセルのアルファベットと数字を相互に変換させる

開発環境は、Windows 10 Pro(64bit)。動作テストはExcel 2019。

アルファベット→数字

For文で処理しやすいように、アルファベットを数字にしたい場合があります。
そういう時は、以下のように、アルファベットから数字に変換して処理します。

Debug.Print(Columns("AE").column) '31
Debug.Print(Columns("BT").column) '72

数字→アルファベット

逆に、数字を見て、アルファベットの何にあたるのかを知りたい場合は、
以下のように、数字からアルファベットに変換します。

Debug.Print(Columns(31).address) '$AE:$AE
Debug.Print(Columns(72).address ) '$BT:$BT

'Split関数で抽出する
Debug.Print( Split(Columns(31).Address(False, False), ":")(1) ) 'AE 
Debug.Print( Split(Columns(72).Address(False, False), ":")(1) ) 'BT 


■参考リンク
【ExcelVBA】列名のアルファベットと列番号の数字を相互変換する
https://qiita.com/11295/items/c26017eb21cb319fd29d