【Excel VBA】ウィンドウ枠の固定・解除をショートカットで実行する方法2

Excel マクロ(VBA)

過去に、ウィンドウ枠の固定と解除を一瞬で実行するためのショートカットを紹介しました。過去の記事は以下から参照ください。

前回よりも使いやすいショートカットを設定したので、改めて紹介します。

スポンサーリンク

前回紹介したコード

前回紹介したコードは以下の2つのコードです。

Public Sub WindowFreezeFix()

    ActiveWindow.FreezePanes = True

End Sub

Public Sub WindowFreezeUnlock()

    ActiveWindow.FreezePanes = False

End Sub

この2つのコードについて、例えばウィンドウ枠固定(WindowFreezeFix)を”Ctrl + Shift + F” (FixのF)、そして解除(WindowFreezeUnlock)を”Ctrl + Shift + U” (UnlockのU)と設定することでショートカットとして使えるという方法を紹介しました。

スポンサーリンク

新しいコード

前回のコードは便利であるものの、固定と解除が2つ別々のマクロになり、ショートカットキーも2つ設定する必要がありました。今回紹介するのは、これ1つで固定と解除を両方達成できます。

コードは以下の通りです。

Public Sub WindowFreezeFix()

    If ActiveWindow.FreezePanes = True Then

        ActiveWindow.FreezePanes = False

    Else: ActiveWindow.FreezePanes = True

    End If

End Sub

選択したセルのウィンドウ枠が固定されていれば解除し、そうでなければ固定する、というコードです。この1つのマクロについて”Ctrl + Shift + F“のショートカットを設定することで、固定と解除を1つのショートカットで操作することができるようになります。

なお、コードに登場するIf文による条件分岐については、以下の記事を参照ください。

コメント

タイトルとURLをコピーしました