アルファベット⇔数字変換(ExcelVBA)
概要
A⇔1のように、アルファベットと数字の変換をする
プログラムを作成した理由
(仮にZ列以降を順々に処理する場合)
ループ操作をし易くする為に
Const 抽出対象開始列 As Integer = 26
と実行開始の基準列位置を数値で扱いたいが
第三者からすれば、
Const 抽出対象開始列 As String = “Z”
の方が「Z列から参照するんだな」と分かりやすい…!26といわれてZ列と結び付く方が少数派
このジレンマを乗り越える為に
「Z⇔26」と取得し、変換する関数が欲しくなった為、作成
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | '概要:列ナンバーをアルファベット列名に変換 '第一引数:数字 '返却値:対応するアルファベット '例)1→A Public Function Get_AlphaName(ColomnNum As Integer) As String '変数定義 Dim ColomnName As String '列位置→アルファベット列名変換 ColomnName = Cells(1, ColomnNum).Address(True, False) ColomnName = Left(ColomnName, InStr(2, ColomnName, "$") - 1) '返却値 Get_AlphaName = ColomnName End Function '概要:アルファベット列名から列数値に変換 '第一引数:アルファベット '返却値:対応する数値 '例)A→1 Public Function Get_Alpha_ColumnNum(AlphaName As String) As Integer '返却値 Get_Alpha_ColumnNum = Range(AlphaName & "1").Column End Function |
編集履歴
2022/03/05 新規作成