Excel VBA ブックを開いた時のウィンドウサイズを指定する方法 | workbook_open
仕事でVBAを使うことがあり、やりたいことはネットで調べていますが、VBA初心者の私が分かりづらかったものを、初心者でも分かるように説明したいと思います。
効率的なコードが書けていない可能性もありますので、予めご了承ください。
今回はworkbook_openを使用し、ブックを開いた時の大きさを指定する方法を紹介します。
使用ケース
例として、以下のような品番をキーとして他の情報を検索する、ちょっとした表があるとします。
かなり極端な表例ですが、これだけの表なのに、こんなに大きなサイズで開かれてもちょっと無駄ですよね。
確かエクセルは特に設定がない限り、1つ前に開いたエクセルと同じサイズで開くはずです(違ったらすいません!)。
これぐらいの表なら、これぐらいのサイズで十分ですよね?
かといって、開くたびにサイズを調節するのも面倒・・・。
ということで、マクロを使って、このファイルを開くときは常にこのサイズで開くようにしたいと思います。
コードを書く場所
マクロといえば標準モジュールに書くことが多いですが、今回はThisWorkbookにコードを書いていきます。
ThisWorkbookをダブルクリックでコードを書いていきます。
サンプルコード
Private Sub workbook_open()
Application.WindowState = xlNormal
Application.Width = 500
Application.Height = 400
End Sub
コード解説
Private Sub workbook_open()
ブックを開いた時にマクロを自動実行させるには、workbook_openを使用します。
workbook_openは、ブックを開いたときに起動させるイベントプロシージャーです。
今回はウィンドウサイズで試していますが、他にも色々使えそうですね。
Application.WindowState = xlNormal
WindowStateは表示状態を指定するプロパティです。
Application.WindowState = (xlNormal, xlMaximized, xlMinimized)
- xlNormal:ウィンドウを標準サイズにする。
- xlMaximized:ウィンドウを最大化する。
- xlMinimized:ウィンドウを最小化する。
一度標準サイズとする理由としては、既に別のブックを最大化で開いている場合、エラーとなることを回避するために記述します。
Application.Width = 500
Application.Height = 400
横幅をWidth、高さをHeightで指定します。
ちなみに単位はポイントとなります。
以上、ブックを開いた時のウィンドウサイズを指定する方法でした。
内容は薄めでしたが、使い方次第で色々応用ができるような気がするので、参考にしてもらえればと思います。
ユーザーフォームを使用した入力フォームの作り方
週ごとに縦に並んだ表を横並びにする方法 | Find&Set
セルに入力された日付を取得し自動でシートとファイルを作る方法
検索窓にキーワードを入力しEnterキーで検索するフォームの作り方 | Intersect
ブックを開いた時のウィンドウサイズを指定する方法 | workbook_open
新規ブックを作成しマクロが登録されたボタンを設置する方法 | OnAction
複数のワークシートをまとめて表示・非表示にする方法 | Visible Not.Visible
セル位置が変わっても特定の範囲を選択する方法 | Find&Address
電話番号からハイフンを削除し0から表示させる方法 | Evaluate&Replace
ダイアログボックスからファイルを選択して開く | GetOpenFilename