Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » 複数シートでウィンドウ枠の固定を行うマクロ

複数シートでウィンドウ枠の固定を行うマクロ

対象:Excel2003, Excel2007, Excel2010

すべてのワークシートのウィンドウ枠を固定するマクロをご紹介しました。

実務では、全ワークシートではなく複数のシートでウィンドウ枠を固定したい、というケースのほうが多いかもしれません。

[スポンサードリンク]

選択シートのウィンドウ枠を固定するサンプルマクロ

複数シートの一例として、選択されたワークシートだけウィンドウ枠を固定したいという例をご紹介しましょう。

Sub 選択シートのウィンドウ枠を固定する()
 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オブジェクト » 複数シートでウィンドウ枠の固定を行うマクロ

「Windowオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.