- ベストアンサー
EXCELでワークシートを開いたらマクロを自動実行したい
いつもお世話になります。 EXCEL2000を使用しています。 EXCELファイルの中のあるワークシートを開いたときにマクロを自動実行することはできますか? AUTO_OPENだとファイルを開くたびに自動実行されるので、特定のワークシートを開いたときだけマクロを自動実行できるようにしたいのです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Worksheet_Activateイベントに記述した場合は、ブックを開いたときに、 このシートがアクティブになっていた場合は、イベントが発生しません。 もし、ブックを開いたとき、目的のシートがアクティブな状態で開かれた時も マクロを実行したいのであれば、ThisWookbookクラスの Open と SheetActivate イベントを使って、例えば、次のような感じで如何でしょうか。 ("Sheet2"の場合です。) Private Sub Workbook_Open() If ActiveSheet.Name = "Sheet2" Then Sheet2_Open_Macro End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "Sheet2" Then Sheet2_Open_Macro End Sub Sub Sheet2_Open_Macro() MsgBox "Sheet2がアクティブになっています。" 'ここに処理したいコードを記述します。 End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
「考えているBookの」「そのワークシートの」イベントに、処理を書けば良いのではないですか。 Private Sub Worksheet_Activate() If ActiveSheet.Name = "Sheet1" Then MsgBox "sss" '処理 End If End Sub
お礼
お礼が遅くなってすみません。 ようやくできました。 ありがとうございました。
お礼
お礼が遅くなってすみません。 思い通りにできました。 ありがとうございました。