Excelの列番号と列名を一番簡単に調べる方法 | 独学プログラマーHiroのパーツボックスblog

[ExcelVBA]Excelの列番号と列名を一番簡単に調べる方法

EXCEL
スポンサーリンク

この記事では列名から列番号を調べる方法と、エクセルVBAを用いて、列番号から列名&列名から列番号を取得する関数について説明します。

列名から列番号を調べる方法

エクセルVBAでコードを書いている時に、「AB列は列番号いくらだったっけ?」となる時ありますよね?

コード例

ActiveSheet.Cells(ACTROW, ?).Value = Worksheets(“元シート”).Cells(MOTOROW, MOTOCOL).Value

画面上左から数えれば良いのですが、スクロールが必要になると数え間違えしてしまうことも・・・

列番号と列名が一目でわかる早見表

注意!:ExcelVBAでは列の開始番号が1ですが、Power Automateやpythonなどからエクセルを操作するときの列番号の開始は0の場合がありますので、その場合にはこの早見表の番号-1を入力ください。

調べたい列名や列番号が決まっている場合には、この表を活用ください。

列番号と列名を取得する関数

エクセルVBAで列番号と列名を相互に変換するコードを紹介します。

エクセルVBAでFomulaプロパティに数式を入力する場合に列番号がわかっているけど、列名に変換したい場面があると思いますので、その時にこれらの関数を利用すれば取得できます。

プログラムを実行した結果はこちらです。

列名と列番号の変換関数を使用した結果画像

列番号から列名を取得する関数はこちらです。コードをコピーして活用ください。

Function Col2Name(ByVal colnum As Long) As String
  '列番号から列名に変換
  Col2Name = Split(Columns(colnum).Address, "$")(2)
End Function

列名から列番号を取得するコードはこちらです。

Function Name2Col(ByVal colName As String) As Long
  '列名から列番号に変換
  Name2Col = Columns(colName).Column
End Function

最後に

列番号や列名が固定の場合には一覧表を、変数などで列番号や列名が変化して、それを調べたいときには関数を活用ください。

ほかにもエクセルVBAに関する記事もありますので、読んでいただけると幸いです。

コメント

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