AX VBAから開いたエクセルのウィンドウ枠の固定

VBAから開いたエクセルのウィンドウ枠の固定

Excel VBA でワークシートのウィンドウ枠の固定を設定する場合、通常は下記のコードだと思う。

Range(“B2”).Select
ActiveWindow.FreezePanes = False
ActiveWindow.FreezePanes = True

 

ただ、上のコードは、VBAが入っているそのエクセル自身のシートを操作する場合。

では、VBAから別のエクセルを開いて、その別のエクセルのシートのウィンドウ枠の固定を設定する場合にどうするか。

いろいろ試していたら次のコードでうまく動いたので、記しておく。
Excel2016。

 

Dim wb As Workbook
Dim FileName As String
FileName = Application.GetOpenFilename(filefilter:="Excelファイル,*.xls*", MultiSelect:=False)
Set wb = Workbooks.Open(FileName)
wb.worksheets(1).range("C2").select
wb.worksheets(1).application.activewindow.freezepanes = false
wb.worksheets(1).application.activewindow.freezepanes = True
wb.save
wb.close savechanges := true

シェアする

  • このエントリーをはてなブックマークに追加

フォローする