Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAでAA列を取得する

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2406(ビルド17630.20000クイック実行)ベータチャネル

「vba aa列取得」
という検索キーワードでアクセスがありました。

Excel VBAで、27列目であるAA列を表すRangeオブジェクトを取得するには、どのようなコードを書けばいいのかを調べていらした方による検索でしょうか。

[スポンサードリンク]

ColumnsプロパティでAA列を取得する

Columnsプロパティを使うとシンプルなコードで済みます。

以下のSubプロシージャを実行すると、アクティブなワークシートのAA列が選択され、セル番地「AA:AA」が表示されます。

Sub AA列を取得する_Columnsプロパティ()
 Dim rng As Range
 Set rng = Columns("AA")

 rng.Select
 MsgBox rng.Address(False, False)
End Sub

Excel VBAのグローバルメンバーであるColumnsプロパティを使うと、アクティブなワークシートの列全体を表すRangeオブジェクトを取得できます。

上図は、オブジェクトブラウザーで非表示のメンバーを表示した状態です。

ちなみに、オブジェクトブラウザーの詳細ペインで確認できるとおり、Columnsプロパティは引数を指定できないプロパティですから、上記の、

Set rng = Columns("AA")

の部分は、実際には、

Set rng = Columns.[_Default]("AA")

のように、非表示のRange._Defaultプロパティの引数に、

文字列「AA」を指定したコードです。

CellsプロパティとEntireColumnプロパティでAA列を取得する

Cellsプロパティと、Range.EntireColumnsプロパティを組み合わせてもAA列を表すRangeオブジェクトを取得できます。

具体的には以下のようなプロシージャです。

Sub AA列を取得する_CellsプロパティとEntireColumnプロパティ()
 Dim rng As Range
 Set rng = Cells(1, "AA").EntireColumn

 rng.Select
 MsgBox rng.Address(False, False)
End Sub

実行結果は先ほどのColumnsプロパティを使ったプロシージャと同じです。

グローバルメンバーのCellsプロパティも、

実際には引数を指定できないプロパティですから、

Set rng = Cells(1, "AA").EntireColumn

の部分は、実際には、

Set rng = Cells.[_Default](1, "AA").EntireColumn

です。

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » 行・列を表すRange » Excel VBAでAA列を取得する

「行・列を表すRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.