• ベストアンサー

Excel起動時に画面表示縮小を自動的にさせるには?

Excel起動時(Excelファイルを開いた時)には、通常画面は100%で表示されます。これを例えば75%や80%で自動的に表示させたいのですが、どのようにすればよいのでしょうか?ご教示ください。 マクロを使う場合、コマンドや設定等教えていただけると助かります。マクロの基礎知識は理解しております。

  • wenti
  • お礼率6% (6/88)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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/17068)
回答No.4

もっと簡単に VBE画面のVBAProjectエクスプローラーで ThisworkbookのWorkbookのSheetActivateイベントを選び Private Sub Workbook_SheetActivate(ByVal Sh As Object) ActiveWindow.Zoom = 75 End Sub でどうですか。

wenti
質問者

補足

設定したところ、1度はうまくいきました。 しかし、その後Excelを起動すると100%に戻ってしまいました。 どこか設定をいじってしまったのでしょうか?

回答No.3

>すべてのシートが縮小になるように設定できませんか? ということであれば以下のようにして下さい。 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

wenti
質問者

補足

ありがとうございました。うまくいきました。 もう一つ付け加えさせていただくなら、起動後sheet1の画面を表示させたいのですが、いかがでしょうか?現状は最終シートで起動しています。

回答No.2

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 と訂正させて下さい。

wenti
質問者

補足

回答ありがとうございます。ご教示いただいた内容で設定しました。望んでいた内容でした。さらにもう1点教えていただければと思います。ご教示いただいた設定では、sheet1は縮小した表示になるのですが、sheet2、sheet3は100%のままです。すべてのシートが縮小になるように設定できませんか?よろしくお願いいたします。

回答No.1

こんにちは。 個人用マクロブックの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 ではいかがでしょう?

関連するQ&A

  • エクセルのマクロ起動時画面を消したい

    エクセルでマクロの記録を使用し マクロを作ったが、動作時 画面が記録通りに表示されている 見ていて せわしない  そこで、マクロに追加コマンドなどで マクロ起動時画面表示を消し(又は、コメント表示)させ 処理終了後 再度 画面表示 させると言う事をしたいと思うのですが、 御存知の方 御教えください

  • エクセル95のマクロで自動的に全画面表示したい

    エクセル95のマクロで質問です。 エクセルのファイルを開いた時、自動的に全画面表示にするには Sub Auto_Open() Application.DisplayFullScreen = True End Sub で、立ち上げた時自動的に全画面表示になりますよね。 これを最小化したい場合、このシート上に最小化ボタンをつけて Sub Macro1() Application.WindowState = xlMinimized End Sub というマクロを登録して最小化して、下のツールバーにアイコン化しました。 この場合ですが、次に、ツールバーのエクセルのアイコンをクリックしたとき、エクセル画面は全画面ではなくノーマルなものになってしまいます。 これを自動的に全画面表示にする場合はどうすればいいのでしょうか?

  • VBA 起動時にエクセルの画面が表示されてしまう

    VBA 起動時にエクセルの画面が表示されてしまう こんにちは、VBA初めて1週間ぐらいの初心者です よろしくお願いします 動作環境として、OS:XP excel:excel2007 を使用しています まずはじめに、エクセルを開いて内容変更セーブして終了するというマクロを組んだのですが 別のプログラムから、 そのエクセルファイルに起動をかけて マクロを実行し終了するよう作りました。  /*** コード ***/ ThisWorkbook 0  Private Sub Workbook_Open() 1   Application.Visible = False          //エクセル画面を消す 2    3   call 内容変更し保存する関数()        // 標準モジュール内 SUB 関数 4    5   ThisWorkbook.Saved = True           // セーブしたことにする 6   If Workbooks.Count <= 1 Then Application.Quit // 他のエクセルが開いてない場合のみ終了する 7   ThisWorkbook.Close False            // エクセル終了 8  End Sub  /*** コード ***/ 質問1 ・1行目にエクセルの画面を消す関数を、プログラムの先頭に来ると思われる部分に入れて実行してみたのですが、 どうしても、起動してから画面を消す処理が始まるまでに、一瞬だけexcelのファイルが表示されてしまうのですが これを回避する方法はありますでしょうか? VBAを使ってマクロの処理をするのですが、 使う方にエクセルを使っているという事を悟られたくないのです 質問2 ・6行目、開いてるエクセルが自分だけの場合のみエクセルを終了すると組んだつもりなのですが、 処理を流すとエクセルで開いているファイルがすべて閉じてしまいます。 記述を間違えていたりしますか? 以上 ご教授お願いいたします <<検索ワード>> VBA VBA 起動画面表示 起動画面非表示 起動画面を出さない 起動画面を消す

  • エクセルファイルをPC起動時に自動的にデスクトップ画面に開きたい

    エクセルでファイルを開くと当日と 締め切りまでのカウントダウンが表示されるものを作成しました。 それを、PC起動時に自動的に立ち上がらせ、 デスクトップ画面に表示させることは可能でしょうか? よろしくお願いします。

  • あるエクセルファイルを、起動時に印刷画面が出てくるように設定したい

    あるエクセルのファイルを起動時に勝手に印刷画面が出るように設定するにはどうしたらよいのでしょう? 他人が作った古いファイルにそのようなものがあり、どのような仕組みなのか知りたいのですが・・・ 調べている中で、「センドキー」というキーワードがでてきたのですが、これはマクロとは違うのでしょうか??

  • エクセルファイルの自動起動と内容更新

    エクセルファイルを自動で起動させ、標準モジュールで書かれたマクロ(新しいブックを作成し、そのブック内シートに値を代入)を実行させマクロ実行時に作成されたファイルを上書き保存させる方法ってありますか? コマンドボタンを配置して、上記を実行させることはできますが、自動起動はタスクを使用すればいいのかな~くらいしかわかりません。 どこかに詳しいページご存知ありませんか?

  • エクセル マクロ 検索 自動記録できない

    excel2003でマクロを作っていますが、  ファイルを立ち上げたときに自動的にファイル-編集-検索を実行し、 検索画面を起動するようにしたいので、その動作を自動記録しようとするのですが、記録できません。 過去の質問を見て、 Application.Dialogs(xlDialogFormulaFind).Show ↑これを使えば出来ると書いてありましたが、 少し古いエクセルの検索画面で、私が使いたいexcel2003の検索画面ではありませんでした。  どのようにすれば、検索画面をマクロで起動できるのでしょうか。 ご教示いただけますようよろしくお願いします。

  • エクセルの自動起動しての集計作業

    10個のファイル(データ)があり、その10個のファイルのデータを1つのファイルにコピーして 自動集計したいと思っています。 そこで例えば朝7時にエクセルを自動起動させてこの10個のファイルを1つのファイルに集計 させ、集計終了後ファイルを保存して終了することは可能でしょうか。 タスクスケジューラとマクロの起動時実行を行えば可能と思うのですが、タスクスケジューラ単体で マクロなしのエクセルファイルを指定しましたが、ファイルが起動しませんでした。 この場合、PCは7時の段階で起動してないとだめでしょうか。 PCの定時起動と定時終了ができればよいのですが、出来る方法があれば教えてください。 よろしくお願いします。 なおOSはWindows7 エクセルは2007です。

  • エクセルで保存時に自動実行させるマクロ?

    エクセル97です。 起動時のAuto_Openや終了時のAuto_Closeのように、ファイルに保存をかけた時に自動的にマクロを実行させるにはどうしたらよいのでしょうか? フォームなどのマクロボタンで保存させるのではなく、通常に保存する場合です。 よろしくお願いします。

  • 起動時に不要な画面が表示される

    WINDOWS98、FMVを使っています。 電源を入れて立ち上げると通常のデスクトップの画面になったあと、不要な画面が出るようになりました。タイトルがMS-DOS FTPで Unknown host/t. ftp> の表示が出ます。×で画面を消すと次の画面が出てきて「このプログラムは自動的にシャットダウンできません。プログラムの終了コマンドを使って下さい。」との画面が出て、「はい」をクリックすると通常のデスクトップ画面となり、通常の使い方ができますが、この不要な画面が出ないようにする方法がわかれば教えて下さい。インターネットでスクリーンセーバーを読み込む操作をした時誤った操作をしたのか、不要なプログラムを消す操作をした時、必要なプログラムまで消してしまったのではないかと思っています。

専門家に質問してみよう