この記事では、主にCellsプロパティを使った場合のExcelの数値の列番号をアルファベットで取得するVBAコードを紹介します。
Cellsプロパティは、変数を使ってセルを指定する際には、基本的にRangeプロパティよりも使い勝手がよいのですが、列を数値で表現するため、人間の作業と混在するようなExcelシートの場合、視認性や効率性を損ねるケースもあります。
数値の列番号をアルファベットで取得するVBAコードを紹介しますので、しっかりと抑えておきましょう。
この章では、88列目の列番号につき「アルファベットにすると何列目か」を取得するVBAコードを紹介します。下記のようにExcel画面を見れば一目瞭然ですが、下記はイメージ画像として掲載していることをご了承ください。
object. Address
Addressプロパティは数値の列番号をアルファベットで返します。
Sub Sample()
Dim s As String
s = Split(Cells( 1 , 88 ). Address, “$”)(1)
MsgBox s
End Sub
Addressプロパティを使って列番号をアルファベットで取得した場合には、「$CJ$1」の形式に変換されます。
この場合、必要な情報は CJ という列番号を表現するアルファベットの箇所のため、$ の記号を対象にSplit関数で分割します。Split関数で分割した際は、それぞれの要素が配列形式となり、2番目の要素にアルファベットの列番号が取得されています。
2番目の配列を取り出すためには、VBAコード上では末尾に(1)という構文で指定します。
※配列の要素は、0から開始されるため。