Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで画面に表示されている左上のセルを取得する

VBAで画面に表示されている左上のセルを取得する

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

「マクロ 画面左上のセルを取得」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

例えば、Excelの画面・ウィンドウが下図のようなときに、

一番左上に表示されているG8セルを表すRangeオブジェクトを取得するには、どのようなコードを書けばいいのかを調べていらしたのでしょうか。

[スポンサードリンク]

画面左上のセルを取得するサンプルマクロ

以下のExcelマクロを実行すると、画面左上のセルを取得し、そのセル番地がメッセージボックスに表示されます。

Sub 画面左上のセルを取得する()
 Dim rng As Range
 Set rng = ActiveWindow.VisibleRange.Item(1)
 MsgBox rng.Address(False, False)
End Sub

サンプルマクロで行っている処理

Excelのウィンドウを表すWindowオブジェクトに用意されているVisibleRangeプロパティを使うと、表示されてているセル範囲を表すRangeオブジェクトを取得できます。

そのセル範囲の先頭のセルを取得するために、Range.Itemプロパティの引数に

「1」を指定しています。

Set rng = ActiveWindow.VisibleRange.Item(1)

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで画面に表示されている左上のセルを取得する

「Windowオブジェクト」の記事一覧

検索


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