|
▼B-BOSS さん:
こんにちは。
>アドインに登録したコードで
>現在アクティブなワークシートに対し、WORKSHEET_Change イベントを
>作成する様なコードを書きたいのですが、可能でしょうか?
クラスモジュールを使用すると、可能です。
アドインにクラスモジュールを追加してください(既定の名前のClass1とします)。
クラスモジュールに、
'=======================================================
Public WithEvents app As Application
Private WithEvents acc_bk As Workbook
'========================================================
Private Sub acc_bk_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "ブック: " & acc_bk.Name & "-シート: " & Sh.Name & "-:セル: " _
& Target.Address & " が変更されました"
'ここにコードを書きます
End Sub
'=====================================================
Private Sub app_WorkbookActivate(ByVal Wb As Workbook)
Set acc_bk = Wb
End Sub
'=====================================================
Private Sub Class_Initialize()
Set app = Application
Set acc_bk = ActiveWorkbook
End Sub
次にアドインのThisworkbookモジュールに
'======================================================
Public app_ev As Class1
Private Sub Workbook_Open()
Set app_ev = New Class1
End Sub
簡単なテストのみしかしていませんが、確認してください。
|
|