ウインドウ枠の固定 FreezePanesプロパティ




プロパティ構文など
Window.FreezePanes = True

エクセルシート上でウインドウ枠の固定をする方法です。
エクセル2007以降だとツールバー「表示」ウインドウ枠の固定コマンドと同じで、エクセル2003だとツールバー「ウインドウ」ウインドウ枠の固定の動作と同様です。
エクセル上だと複数シートに対しての設定は出来ないですが、上記マクロのWindowにそれぞれのWorksheet(シート)を指定することど一括で設定出来たりします。

WindowオブジェクトのプロパティでActiveWindow.FreezePanes = Trueのように使います。


サンプルコード
'選択されている複数シート(Worksheet)を一括でウインドウ枠の固定をする
Sub WFtes()
 Dim ws As Worksheet

 '選択されているシート毎に処理をする
  For Each ws In ActiveWindow.SelectedSheets
   'セル(B2)を選択
    Cells(2, 2).Select
    ActiveWindow.FreezePanes = True

  Next
End Sub
すでにウインドウ枠の固定が設定されている場合に、さらにActiveWindow.FreezePanes = Trueを実行しても 固定されているセルの場所は変更されません。
固定セル位置を変更する場合には一度ActiveWindow.FreezePanes = Falseを実行して一旦ウインドウ枠の固定の解除の処理をすることが必要になります。