動作検証バージョン:Windows版Excel(バージョン1908 ビルド11929.20300)
「VBA FreezePanes 位置」
「excel VBA ウインドウ枠 固定 位置」
といった検索キーワードで時折アクセスがあります。
ウィンドウ枠の固定が、どこセルで行われているのかを調べるExcel VBAのコードを探していらしたのでしょう。
[スポンサードリンク]
ウィンドウ枠の固定位置を調べるサンプル
いつでも正しい結果となるわけではありませんが、(興味深い)サンプルをご紹介しておきます。
Sub ウィンドウ枠の固定を行っているセルを確認する()
With ActiveWindow
Dim r As Long, c As Long
r = .SplitRow + 1
c = .SplitColumn + 1
Dim rng As Range
Set rng = Cells(r, c)
rng.Select
MsgBox rng.Address(False, False)
End With
End Sub
With ActiveWindow
Dim r As Long, c As Long
r = .SplitRow + 1
c = .SplitColumn + 1
Dim rng As Range
Set rng = Cells(r, c)
rng.Select
MsgBox rng.Address(False, False)
End With
End Sub
SplitRow・SplitColumnプロパティはWindowオブジェクトが持つ
上記のSubプロシージャで使っているWindowオブジェクトのSplitRow・SplitColumnプロパティで、ウィンドウ枠の固定が何行目・何列目まで行われているかが、一応わかります。
本当の固定位置を返すのではない
ただしこれらのプロパティが返す値は、本当の行番号・列番号ではありません。
あくまでも今の画面上での何行目・何列目かを表す数値を返します。
実務では、そんな設定をすることはないと思うのですが、例えばZ1000セルを選択しておいた状態でウィンドウ枠の固定を指定しておいて上記のSubプロシージャを実行した場合、Z1000セルとは違うセル番地がメッセージボックスに表示されます。
最終更新日時:2020-04-05 06:03
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAでウィンドウ枠の固定位置を調べる-SplitRow・SplitColumn