小编Gab*_*iel的帖子

使用VBA创建自定义事件

我正在努力了解如何使用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)

excel vba excel-vba

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

excel ×1

excel-vba ×1

vba ×1