「数値→アルファベット」変換関数
Range関数内の列記号に変数を使用しなければならない場合は便利です。
例:「1→A」「2→B」「3→C」…「26→Z」「27→AA」
図1下側「Sub test()」内の行にカーソルを合わせた状態でVBE「」ボタンを押すと図2入力画面が表示されます。
Function Henkan(ByVal poleNo)
'数値→アルファベット
Dim AZ(6)
AZ(1) = poleNo
AZ(2) = AZ(1) \ 26
AZ(3) = AZ(1) Mod 26
If AZ(1) <= 26 Then
AZ(4) = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ", AZ(1), 1)
AZ(6) = AZ(4)
Else
If AZ(3) = 0 Then
AZ(2) = AZ(2) - 1
AZ(3) = 26
End If
AZ(4) = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ", AZ(3), 1)
AZ(5) = Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ", AZ(2), 1)
AZ(6) = AZ(5) & AZ(4)
End If
Henkan = AZ(6)
End Function
Sub test()
Q = InputBox("列記号(アルファベット)を求めたい列番号を入力してください")
End Sub
図1:プログラムの内容
図2:inputbox
図3:msgbox