我正在努力了解如何使用VBA中的类模块创建自定义事件.
我把简单的下面的例子放在一起.你在A1和B1中放了一个值,然后重新激活工作表来计算两者的总和,然后我希望一个事件会触发警告计算,但没有任何反应.
对于解决这个例子的任何帮助我都非常感激.
类模块cCalc:
Dim m_wks As Worksheet
Public Event BeforeCalc()
Property Set Worksheet(wks As Worksheet)
Set m_wks = wks
End Property
Public Sub Calc()
Dim dVal1 As Double
Dim dVal2 As Double
With m_wks
dVal1 = .Range("A1").Value
dVal2 = .Range("B1").Value
RaiseEvent BeforeCalc
.Range("C1").Value = dVal1 + dVal2
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
在mGlobal模块中:
Public gCalc As cCalc
Run Code Online (Sandbox Code Playgroud)
在Sheet1背后的代码中:
Private WithEvents calcEvent As cCalc
Private Sub calcEvent_BeforeCalc()
MsgBox "About to Calc!", vbInformation
End Sub
Private Sub Worksheet_Activate()
Set gCalc = New …Run Code Online (Sandbox Code Playgroud)