HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > ウィンドウ枠を固定する(FreezePanesプロパティ)

即効テクニック

セル操作関連のテクニック

ウィンドウ枠を固定する(FreezePanesプロパティ)

(Excel 2000)
対象ウィンドウがワークシートかマクロシートのとき、FreezePanesプロパティにTrueを設定すると、選択範囲の左上を基準にして、ウィンドウ枠を固定します。Falseでウィンドウ枠の固定を解除します。分割の基準となる位置は、SplitRow/SplitColumnプロパティで取得できます。設定すると、ウィンドウ枠の固定ではなく、分割された状態になります。

 構文  Object.FreezePanes     設定/取得

 設定項目    内容
  Object      Windowオブジェクト [省略不可]

次のサンプルは、InputBoxメソッドで指定したセルを基準に、ウィンドウ枠を固定します。
●サンプル●
Sub FreezePanesSamp1()

 Dim myRange As Range

 Set myRange = Application.InputBox( _
     Prompt:="ウィンドウ枠を固定するポイントを選択してください", _
     Type:=8)      '---ウィンドウ枠を固定する基準セルを指定
     '---(1)指定したセルを選択します。
 myRange.Select
 With ActiveWindow
     '---(2)一旦、ウィンドウ枠固定を解除します
     .FreezePanes = False
     '---(3)選択セルの左上でウィンドウ枠を固定します。
     .FreezePanes = True
     MsgBox .SplitRow & "行" & Chr(13) & _
            .SplitColumn & "列  を基準にウィンドウ枠を固定しました"
 End With

End Sub
(1)のステートメントで選択したセル範囲の左上を基準に、(3)のステートメントでウィンドウ枠を固定しています。

●注意●
ウィンドウ枠を固定する基準を変更する際には、(2)のステートメントのように、一旦ウィンドウ枠の固定を解除する必要があります。なおこのサンプルは、ウィンドウ枠が分割されたワークシートでは正常に動作しませんので注意してください。