Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41117 / 76736 ←次へ | 前へ→

【40701】Re:Formが開いている間に別のシートが選...
回答  ハト  - 06/7/20(木) 16:48 -

引用なし
パスワード
   ▼リョウタ さん:
>>VBAProject
>> - Microsoft Excel Objects
>>   - ThisWorkbook
>>
>>ThisWorkbookにて
>>Private Sub Workbook_SheetActivate(ByVal Sh As Object)
>>
>>これでイベントを取得できるはずです
>
>ハトさん、返信どうも有難うございました。
>
>VBAProject (Book1)
>  - Microsoft Excel Objects
>   - ThisWorkbook
>のコードエリアに
>------------------------------------------------------
>Private Sub Workbook_SheetActivate(ByVal Sh As Object)
>
>  MsgBox (Sh.Name)
>
>End Sub
>------------------------------------------------------
>などと入れて試してシート選択時にイベントが発生していることを確認しました。どうも有難うございました。
>
>ただ、現在僕の方で VBA アドインを作成しているので、
>VBAProject (<アドインファイル>.xla)
>  - Microsoft Excel Objects
>   - ThisWorkbook
>のコードエリアにコードを入力して、どのファイルを開いても同じようにシートが変更した時にイベントを発生させたいのですが、全く動きませんでした (見当外れなことをしていたらすいません)。つまり、もしユーザーの環境でこの xla を読み込んでいる設定になっているのならば、ユーザーがどの xls ファイルを開いてもこのイベントを発生させて必要なデータをアクティブシートから取得したいのです。
>
>これって実現可能でしょうか?

アドインファイルに記述ですか
本当にどのブックでもイベントを発生させたいのでしたら
↓の様に記述を変更してみてください

Private WithEvents myApp As Application

Private Sub Workbook_Open()
  
  Set myApp = Application

End Sub


Private Sub myApp_SheetActivate(ByVal Sh As Object)

  MsgBox Sh.Name
 
End Sub
0 hits

【40686】Formが開いている間に別のシートが選択さ... リョウタ 06/7/20(木) 13:58 質問
【40691】Re:Formが開いている間に別のシートが選択... ハト 06/7/20(木) 14:42 回答
【40693】Re:Formが開いている間に別のシートが選... リョウタ 06/7/20(木) 15:29 質問
【40701】Re:Formが開いている間に別のシートが選... ハト 06/7/20(木) 16:48 回答
【40729】Re:Formが開いている間に別のシートが選... リョウタ 06/7/21(金) 16:08 お礼
【40695】Re:Formが開いている間に別のシートが選択... Kein 06/7/20(木) 15:36 回答
【40696】Re:Formが開いている間に別のシートが選... リョウタ 06/7/20(木) 16:06 回答
【40698】Re:Formが開いている間に別のシートが選... Kein 06/7/20(木) 16:34 発言
【40730】Re:Formが開いている間に別のシートが選... リョウタ 06/7/21(金) 16:19 お礼

41117 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free