- ベストアンサー
Excel起動時に画面表示縮小を自動的にさせるには?
Excel起動時(Excelファイルを開いた時)には、通常画面は100%で表示されます。これを例えば75%や80%で自動的に表示させたいのですが、どのようにすればよいのでしょうか?ご教示ください。 マクロを使う場合、コマンドや設定等教えていただけると助かります。マクロの基礎知識は理解しております。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>起動後sheet1の画面を表示させたいのですが... それならば、コードの最後に Sheet1をアクティブにするコードを追加すればよいです。 Private Sub xlApp_WorkbookActivate(ByVal Wb As Workbook) Dim ws As Worksheet Application.ScreenUpdating = False For Each ws In Wb.Worksheets ws.Activate ActiveWindow.Zoom = 75 'ActiveWindow.Zoom = 80 Next Wb.Sheets(1).Activate '←追加 Application.ScreenUpdating = True End Sub 追加した1行は Wb.Sheets("Sheet1").Activate でも良いが、 Sheet1の名前が変更されていたりした場合に エラーになるので、一番左のシートという意味で、 Sheets(1)という書き方にしてあります。 ですから、Sheet1が左から2番目にある場合は 当然ですがSheet1はアクティブになりません。 状況によって、使い分けて下さい。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
もっと簡単に VBE画面のVBAProjectエクスプローラーで ThisworkbookのWorkbookのSheetActivateイベントを選び Private Sub Workbook_SheetActivate(ByVal Sh As Object) ActiveWindow.Zoom = 75 End Sub でどうですか。
- ForestRain
- ベストアンサー率63% (14/22)
>すべてのシートが縮小になるように設定できませんか? ということであれば以下のようにして下さい。 Option Explicit Private WithEvents xlApp As Application Private Sub Workbook_Open() Set xlApp = Application End Sub Private Sub xlApp_WorkbookActivate(ByVal Wb As Workbook) Dim ws As Worksheet Application.ScreenUpdating = False For Each ws In Wb.Worksheets ws.Activate ActiveWindow.Zoom = 75 'ActiveWindow.Zoom = 80 Next Application.ScreenUpdating = True End Sub
補足
ありがとうございました。うまくいきました。 もう一つ付け加えさせていただくなら、起動後sheet1の画面を表示させたいのですが、いかがでしょうか?現状は最終シートで起動しています。
- ForestRain
- ベストアンサー率63% (14/22)
No.1です。 ActiveWindow.Zoom = 75 を書くイベントを間違えました。 Option Explicit Private WithEvents xlApp As Application Private Sub Workbook_Open() Set xlApp = Application End Sub Private Sub xlApp_WorkbookActivate(ByVal Wb As Workbook) ActiveWindow.Zoom = 75 'ActiveWindow.Zoom = 80 End Sub と訂正させて下さい。
補足
回答ありがとうございます。ご教示いただいた内容で設定しました。望んでいた内容でした。さらにもう1点教えていただければと思います。ご教示いただいた設定では、sheet1は縮小した表示になるのですが、sheet2、sheet3は100%のままです。すべてのシートが縮小になるように設定できませんか?よろしくお願いいたします。
- ForestRain
- ベストアンサー率63% (14/22)
こんにちは。 個人用マクロブックのThisWorkBookモジュールに Option Explicit Private WithEvents xlApp As Application Private Sub Workbook_Open() Set xlApp = Application End Sub Private Sub xlApp_WorkbookOpen(ByVal Wb As Workbook) ActiveWindow.Zoom = 75 'ActiveWindow.Zoom = 80 End Sub ではいかがでしょう?
補足
設定したところ、1度はうまくいきました。 しかし、その後Excelを起動すると100%に戻ってしまいました。 どこか設定をいじってしまったのでしょうか?