VBAでExcel列のローマ字を数値に変換する

Excelのマクロでセルを指定する場合はほとんどCellsを使い行と列を数値で指定する。

でもたまに、ローマ字で指定したい時がある。

それが列だけの場合B列は数値だと2だけどBを2に変換ってどうやればできるのか。

動き

ローマ字はA〜Zだから26進数的な考えでいいのかな?

いや、よく考えたらRange(“A1”).columnで列数を取得してるじゃん!

終わり!

コード

Sub test2()
    Debug.Print Range("xfd" & "1").Column
End Sub

イミディエイトウィンドウ

16384

コード(関数バージョン)

 

Sub test()
    ローマ字 = "xfd"
    列数 = 列のローマ字を数値へ変換(ローマ字)
    Debug.Print 列数
End Sub
Function 列のローマ字を数値へ変換(ByVal 列のローマ字 As String) As Long
    列のローマ字を数値へ変換 = Range(列のローマ字 & "1").Column
End Function

イミディエイトウィンドウ

16384

いつ使うの?

例えばテンプレマクロを作る時に状況に応じて視覚的に列を指定したい場合。

AAが27ってすぐわからないのでローマ字で指定できると編集が容易になります!

コメント

タイトルとURLをコピーしました