Home » Excel VBA Rangeオブジェクト » VBAでカレントセルを取得する

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

「vba カレントセルの指定方法」
といった検索キーワードでアクセスがありました。

カレントセルとして考えられるセル

ここで「カレントセル」と表現されているセルは、2つ考えられます。

[スポンサードリンク]

「アクティブセル」と、「選択されているセル」の2つです。

上図のような状態のときに、
  アクティブセルはC2セル
  選択されているセルはB2:D3セル
です。

カレントセルを取得するサンプルマクロ

ActiveCellプロパティを使うとアクティブセルを取得でき、WindowオブジェクトのRangeSelectionプロパティなどで選択されているセルを取得できます。

B2:D3セルが選択され、アクティブセルがC2セルのときに以下のExcelマクロを実行すると、「C2」「B2:D3」とメッセージボックスに表示されます。

Sub カレントセルを取得する()
 Dim rng_a As Range
 Set rng_a = ActiveCell
 MsgBox rng_a.Address(False, False)

 Dim rng_s As Range
 Set rng_s = ActiveWindow.RangeSelection
 MsgBox rng_s.Address(False, False)

End Sub

アクティブセルを取得しているのが以下の行で、

Set rng_a = ActiveCell

以下の行で選択されているセルを取得しています。

Set rng_s = ActiveWindow.RangeSelection

以下の2行はいずれも、取得したRangeオブジェクトのAddressプロパティを使ってセル番地を取得して、メッセージボックスに表示しています。

MsgBox rng_a.Address(False, False)
MsgBox rng_s.Address(False, False)

最終更新日時:2024-07-19 09:51

[スポンサードリンク]

Home » Excel VBA Rangeオブジェクト » VBAでカレントセルを取得する

「Excel VBA Rangeオブジェクト」の記事一覧

検索


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

.