|
UO3 さん、こんばんは。
>持つよりましとはいえ、データブックとプログラムブックは切り離して
>おきたいという私のポリシー(?)
こういう手法は、私も同感ですが、そうだとしたら、
>なんとかプログラムブックから
>別ブックのシートのイベントを捕捉できないかなぁと。
こんな仕様が必要なのかなあとも思いますが、きっと何かあるんでしょうねえ
ざっとですが、プログラムブック側のThidworkbook辺りに
'==============================================================
Option Explicit
Private WithEvents app As Application
Private Sub app_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox Sh.Parent.Name & "---" & Sh.Name & "----" & Target.Address
End Sub
Sub set_app()
Set app = Application
End Sub
このようにしておき、set_appを実行後は、すべてのブックのSheet_changeイベントが
拾えます。
もっと限定したいなら、
同じプログラムブック側のThidworkbookに
Option Explicit
Private WithEvents sht As Worksheet
Sub set_sht()
Set sht = Workbooks("データブック.xls").Worksheets("sheet1")
End Sub
Private Sub sht_Change(ByVal Target As Range)
MsgBox Target.Parent.Name & "---" & Target.Address
End Sub
set_shtを実行した後は、データブック.xlsのSheet1のイベントが取得できます。
こういう事ですか?
|
|