動作検証バージョン:Windows 11 Home バージョン22H2 + 64bit Excel(バージョン2304 ビルド163277.20134 クイック実行)
「excel vba window scrollrow」
「vba ActiveWindow.ScrollRow」
といった検索で時折アクセスがあることに気がつきました。
[スポンサードリンク]
ActiveWindow.ScrollRowで一番上に表示される行を取得・設定できる
ワークシートがアクティブな状態で、以下のExcelマクロを実行してください。
Sub Window_ScrollRowを設定する()
ActiveWindow.ScrollRow = 1000
End Sub
ActiveWindow.ScrollRow = 1000
End Sub
下図のように1000行目が一番上に表示されます。
このとき、アクティブセルが移動するわけではありません。縦方向にスクロールが行われるだけです。
ActiveWindow.ScrollRow = 1
を実行した場合、1行目が一番上に表示され
ActiveWindow.ScrollRow = 1048576
ならば、下図のように1048576行目が一番上に表示されます。
また、
Sub Window_ScrollRowを取得する()
Debug.Print ActiveWindow.ScrollRow
End Sub
Debug.Print ActiveWindow.ScrollRow
End Sub
を実行した場合、アクティブシートで一番上に表示されている行の行番号が、イミディエイトウィンドウに出力されます。
「ActiveWindow.ScrollRow」とは、アクティブなウィンドウで一番上に表示されている行の行番号を取得・設定するコードです。
ActiveWindow.ScrollRowの読解
「ActiveWindow.ScrollRow」を読み解いておきましょう。
まず、ActiveWindowは、アクティブなExcelのウィンドウを表すWindowオブジェクトを取得するプロパティです。
ですから、ActiveWindow.ScrollRowは、WindowオブジェクトのScrollRowプロパティということになります。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » Excel VBAのActiveWindow.ScrollRowとは