概要
Excelを開いている状態でさらに別のブックを開こうとすると・・・
ウィンドウが右下にちょっとずれる!!(イラ〜っ)ってなりませんか?
なのでウィンドウの表示位置を固定する方法です。
やり方
個人用マクロブックを開く(追加する)
まずは、「開発」タブ → 「Visual Basic」からVBEを開きます。
それから個人用マクロブックを開きます。
(プロジェクトから「VBAProject(PERSONAL.XLSB)」 → 「ThisWorkbook」を開く)
PERSONAL.XLSBがない場合
「開発」タブ → 「マクロの記録」を選択して適当な名前でマクロを記録します。
この時マクロの保存先を「個人用マクロ ブック」に設定します。
これでPERSONAL.XLSBが作成されます。
マクロを追加する
PERSONAL.XLSBのThisWorkbookに以下の通りコードを追加します。
Public WithEvents xlAPP As Application
' PERSONAL.XLSBのオープンイベント
Private Sub Workbook_Open()
' 他のブックのイベントも受け取れるようにする
Set xlAPP = Application
End Sub
' 新規作成時のイベント
Private Sub xlAPP_NewWorkbook(ByVal Wb As Excel.Workbook)
WindowReset
End Sub
' 既存ブックのオープンイベント
Private Sub xlAPP_WorkbookOpen(ByVal Wb As Excel.Workbook)
' 自身のオープンイベントは読み捨てる
If Wb.Name = "PERSONAL.XLSB" Then
Exit Sub
End If
WindowReset
End Sub
' Windowの初期位置を指定する
Private Sub WindowReset()
Application.Top = 10
Application.Left = 50
Application.Width = 1280
Application.Height = 760
End Sub
これでブックを開いた時や新規作成時にウィンドウを固定位置・サイズで表示できます。
(WindowResetの内容は適宜お好みに設定してください)
注意事項
VBAですのでマクロが無効化されているファイル(Webからダウンロードした直後で保護ビューが有効になっているなど)では機能しません。