すべてのワークシートのウィンドウ枠を固定するマクロをご紹介しました。
実務では、全ワークシートではなく複数のシートでウィンドウ枠を固定したい、というケースのほうが多いかもしれません。
選択シートのウィンドウ枠を固定するサンプルマクロ
複数シートの一例として、選択されたワークシートだけウィンドウ枠を固定したいという例をご紹介しましょう。
With ActiveWindow
Dim ws As Object
For Each ws In .SelectedSheets
If TypeName(ws) = "Worksheet" Then
ws.Select
.FreezePanes = False
.FreezePanes = True
End If
Next ws
End With
End Sub
ウィンドウ枠を固定したいシートを選択しておいて、固定したい行・列の右下のセルを選択した状態で、上記のマクロを実行すると、選択されていたワークシートでウィンドウ枠の固定が行われます。
選択シートのウィンドウ枠を固定するサンプルで行っている処理
上記のSubプロシージャで行っている処理は以下のとおりです。
アクティブウィンドウの
With ActiveWindow
選択されているシートに対してループをまわして
For Each ws In .SelectedSheets
種類がグラフではなくワークシートのときに
If TypeName(ws) = "Worksheet" Then
ワークシートを選択し
ws.Select
ウィンドウ枠の固定解除を行い
.FreezePanes = False
ウィンドウ枠の固定を実行しています。
.FreezePanes = True
既にウィンドウ枠の固定が行われているシートで、解除したくないのであれば、
.FreezePanes = False
をコメントアウトしてください。
最終更新日時:2019-09-17 13:01
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » 複数シートでウィンドウ枠の固定を行うマクロ