Excel 事件顺序:应用程序AfterCalculate和工作表更改
我在此工作簿中有以下代码Excel 事件顺序:应用程序AfterCalculate和工作表更改,excel,vba,event-handling,Excel,Vba,Event Handling,我在此工作簿中有以下代码 Public WithEvents Excel_App_Event As Application* Private Sub Excel_App_Event_AfterCalculate() MsgBox "In the Application, Event : AfterCalculate" End Sub Private Sub Excel_App_Event_SheetChange(ByVal Sh As Object, ByVal Ta
Public WithEvents Excel_App_Event As Application*
Private Sub Excel_App_Event_AfterCalculate()
MsgBox "In the Application, Event : AfterCalculate"
End Sub
Private Sub Excel_App_Event_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "In the Application, Event : SheetChange"
End Sub
Private Sub Workbook_Open()
Set Excel_App_Event = Application
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "In the Workbook, Event : SheetChange"
End Sub
在第1页
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "In the Worksheet, Event : Change"
End Sub
当我更改工作表中的单元格时,事件AfterCalculate将在工作表更改事件、工作簿、应用程序之前引发(按正确顺序)。我很惊讶,因为我读到:
此事件发生在所有工作表.Calculate、图表.Calculate、AfterRefresh和SheetChange事件之后。它是所有刷新处理和所有计算处理完成后发生的最后一个事件,并且在Application.CalculationState设置为xlDone后发生
不清楚你的问题是什么?你有什么实际问题需要解决吗?这可能是一个但是或者错误的文档,两者都应该报告给微软。嗨,Máté,谢谢你的回答。由于我是VBA编程新手,我不敢向微软提出这个问题,因为我认为我在代码中犯了错误,或者我没有很好地理解事件机制。你认为我应该向微软报告吗?不清楚你的问题是什么?你有什么实际问题需要解决吗?这可能是一个但是或者错误的文档,两者都应该报告给微软。嗨,Máté,谢谢你的回答。由于我是VBA编程新手,我不敢向微软提出这个问题,因为我认为我在代码中犯了错误,或者我没有很好地理解事件机制。你认为我应该向微软报告吗?