|
▼リョウタ さん:
>>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
|
|