Excel VBA 行・列見出しを固定する

スポンサーリンク
スポンサーリンク

行・列見出しを固定する方法

行や列の見出しを固定するには、ウィンドウ枠の固定を実行するWindow【ウィンドウ】オブジェクトのFreezePanes【フリーズペインズ】プロパティを使用します。

FreezePanes【フリーズペインズ】プロパティ

FreezePanes【フリーズペインズ】プロパティはウィンドウ枠の固定の状態の取得と固定の設定と解除ができます。ウィンドウ枠の固定は選択されているセルの上の行と左の列が固定されます。すでに、ウィンドウ枠が固定されているウィンドウで別のセルを選択してウィンドウ枠を固定しようとしても設定はできません。この場合は、ウィンドウ枠を解除してから、セルを選択してウィンドウ枠の固定を設定します。

FreezePanes【フリーズペインズ】プロパティの書式

【取得】
オブジェクト.FreezePanes
【設定】
オブジェクト.FreezePanes = 設定値


設定値の説明

  • 設定値(戻り値)
    ウィンドウ枠の固定と解除をブール型の値で設定または、取得します。

    設定値(戻り値) 内容
    True ウィンドウ枠を固定します。(固定されています。)
    False ウィンドウ枠の固定を解除します。(固定されていません。)

1行目の見出し行を固定するコード例

Sub 行見出し固定()
With ActiveWindow
If .FreezePanes = True Then
.FreezePanes = False
End If
Range("A2").Select
.FreezePanes = True
End With
End Sub

コードの解説

2行目【With ActiveWindow】
Application【アプリケーション】オブジェクトのActiveWindow【アクティブウィンドウ】プロパティを使用してアクティブなWindow【ウィンドウ】オブジェクトを取得して、With【ウィズ】ステートメントで指定します。オブジェクトのApplication【アプリケーション】は省略可能で、通常は省略します。


3行目【If .FreezePanes = True Then】
If【イフ】ステートメントを使用して、FreezePanes【フリーズペインズ】プロパティの戻り値がTrueのときを定義します。つまり、ウィンドウ枠が固定されているときを定義します。


4行目【.FreezePanes = False】
3行目の条件分岐の定義が成立したとき、つまり、ウィンドウ枠が固定されているとき、With【ウィズ】ステートメントでしていいたアクティブなWindow【ウィンドウ】オブジェクトのFreezePanes【フリーズペインズ】プロパティにFalseを設定して、ウィンドウ枠の固定を解除します。


6行目【Range(“A2”).Select】
ウィンドウ枠を固定する基準となるA2セルを選択します。


7行目【.FreezePanes = True】
With【ウィズ】ステートメントで指定したアクティブWindow【ウィンドウ】オブジェクトのFreezePanes【フリーズペインズ】プロパティにTrueを設定して選択されているA2セルの上の行のウィンドウ枠を固定します。

実行結果


A2セルを基準にしているので、1行目が固定されます。(青い部分が固定)


A列と1行目を固定するコート

Sub 行見出し固定()
With ActiveWindow
If .FreezePanes = True Then
.FreezePanes = False
End If
Range("B2").Select
.FreezePanes = True
End With
End Sub

実行結果


B2セルを基準にしているので、1列目と1行目が固定されます。(青い部分が固定)


以上で、行・列見出しを固定する方法の解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク