【マクロVBA】Excelの列名と列番号を一瞬で変換する

マクロVBA

Excelで諸々関数組む時やVBA作成時、アルファベットの列名から列番号へ変換するのに手こずっていませんか?
逆に列番号から列名変換もExcelに良く触れる人であれば必要になるケースもあるかと思います。
毎度ググるのも面倒だと思うので、下記のコードで列名⇔列番号をストレスフリーに変換しましょう!

ソースコード

ソースコードは下記になります。汎用性を持たせるため、Functionで作成しています。

'-------------------------------------------
'概要:列番号から列名へ変換
'-------------------------------------------
Function ConvertToLetter(lngCol As Long) As String
    
    ConvertToLetter = Split(Cells(, lngCol).Address, "$")(1)
    
End Function

'-------------------------------------------
'概要:列名から列番号へ変換
'-------------------------------------------
Function ConvertToNum(strColPos As String) As Long
    
    ConvertToNum = Range(strColPos & "1").Column
    
End Function

例えば、
ConvertToLetterの引数に「3」を渡すと「C」が戻り値として設定されます。
ConvertToNumの引数に「C」を渡すと「3」が戻り値として設定されます。

コメント

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