方法1 こっちの方が簡単
Excel Objects の ThisWorkbook のオブジェクトボックスで、Workbook を選択。
プロシージャボックから、SheetChange など、イベントを選択して処理を作成。
VBAProject --> Microsoft Excel Objects --> ThisWorkbook
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "セルの内容が変わった"
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "選択セルが変わった"
End Sub
-----------------------------------------
方法2
クラスモジュールの宣言セクションに次のように入力
VBAProject --> クラス モジュール --> Class1
Option Explicit
Public WithEvents MyAppEvents As Application
MyAppEvents は自由に決めた変数です
VBEエディタのコードウインドウのオブジェクトボックスで、MyAppEvents が選択できるようになりますので選択。
プロシージャボックから、SheetSelectionChange など、イベントを選択して処理内容の作成。
VBAProject --> クラス モジュール --> Class1
Private Sub MyAppEvents_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "App Yes"
End Sub
Private Sub MyAppEvents_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "App No"
End Sub
Excel Objects を次のように。変数名は自由
VBAProject --> Microsoft Excel Objects --> ThisWorkbook
Option Explicit
Dim MyEvent As New Class1
Private Sub Workbook_Open()
Set MyEvent.MyAppEvents = Application
End Sub
Microsoft Office ブログランキングへ