Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » WindowクラスのFreezePanesプロパティを設定できない

WindowクラスのFreezePanesプロパティを設定できない

動作検証バージョン:Windows版Excel(バージョン1908 ビルド11929.20300)

「excel Window クラスの FreezePanes プロパティを設定できません。」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。

Excel VBAでは、
  ActiveWindow.FreezePanes = True
を実行すればアクティブシートの、ウィンドウ枠の固定ができます。基本的には。

[スポンサードリンク]

しかし場合によっては、
  ActiveWindow.FreezePanes = True
を実行すると
「実行時エラー'1004' Window クラスの FreezePanes プロパティを設定できません。」
とエラーが発生してしまいます。

「excel Window クラスの FreezePanes プロパティを設定できません。」
と検索なさった方は、この実行時エラーの発生する原因と回避策を探していらしたのでしょう。

WindowクラスのFreezePanesプロパティを設定できないエラーの確認

まずは実行時エラーを確認しましょう。

アクティブなブックのウィンドウを最小化した状態で、以下のSubプロシージャを実行してみてください。

Sub sample()
 Worksheets(1).Select
 Range("B2").Select
 ActiveWindow.FreezePanes = True
End Sub

「Window クラスの FreezePanes プロパティを設定できません。」実行時エラーが発生するはずです。

FreezePanesはWindowオブジェクトのプロパティ

アクティブなブックのウィンドウが最小化されている状態で、Window.FreezePanesプロパティを設定しようとしたためです。

FreezePanesはWindowオブジェクトのプロパティですから、ウィンドウの状態がどうなっているかによって挙動が変わります。

FreezePanesが、もしもWorksheetオブジェクトのプロパティであったならば、FreezePanesプロパティを設定できない実行時エラーは、発生しなかったはずです。

で、「Window クラスの FreezePanes プロパティを設定できません。」実行時エラーを回避するには、
  ActiveWindow.FreezePanes = True
の前に、
  ActiveWindow.WindowState = xlNormal
あるいは、
  ActiveWindow.WindowState = xlMaximized
を行い、ウィンドウを最小化されていない状態にすればOKです。

最終更新日時:2019-09-28 06:10

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » WindowクラスのFreezePanesプロパティを設定できない

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

検索


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

.