複数のシートに一括操作を行う作業グループは便利な機能です。
同じ文字列を入力したり、書式設定をしたりする際には非常に役立ちます。
ですが、一括操作できてもよさそうなのに、設定できないものもあります。
ウィンドウ枠の固定です。
同じフォーマットのワークシートが並んでいる場合、全てのワークシートでウィンドウ枠を固定したいという気持ちになると思います。そんなときに作業グループを設定しておいて、メニュー[ウィンドウ]−[ウィンドウ枠の固定]コマンドを実行したものの、結局アクティブなシートしかウィンドウ枠が固定されなくて、ガッカリした方もいらっしゃるのではないでしょうか。
全ワークシートでウィンドウ枠を固定するサンプルマクロ
こんなときはVBAマクロの出番です。
Dim ws As Worksheet
For Each ws In Worksheets
ws.Select
Range("B2").Select
ActiveWindow.FreezePanes = True
Next
End Sub
サンプルマクロで行っている処理
アクティブなブックの、すべてのワークシートにFor Each~Nextループを回して
For Each ws In Worksheets
ワークシートを選択し、
ws.Select
B2セルを選択しておいてから、
Range("B2").Select
ウィンドウ枠の固定を行っています。
ActiveWindow.FreezePanes = True
逆に、すべてのワークシートでウィンドウ枠の解除を行う場合は、
ActiveWindow.FreezePanes = False
です。
最終更新日時:2019-09-17 13:02
- Newer:WordPad ワードパッドとは
- Older:コードの表示方法を切り替える−モジュール全体を連続表示オプション
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAで全ワークシートのウィンドウ枠を固定する-Window.FreezePanesプロパティ