Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 事件顺序:应用程序AfterCalculate和工作表更改_Excel_Vba_Event Handling - Fatal编程技术网

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编程新手,我不敢向微软提出这个问题,因为我认为我在代码中犯了错误,或者我没有很好地理解事件机制。你认为我应该向微软报告吗?