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」が戻り値として設定されます。
コメント