从特定的子项运行事件macros

我有一个有很多sub的模块:

Sub a1 Sub a2 Sub a3 ... Sub a10 

在工作表中,我有一个事件macros:

 Private Sub Worksheet_Change(ByVal Target As Range) ... End Sub 

Sub a1到a9在工作表中进行更改(添加列,更改值…)

我希望事件macros在a1-a9完成时开始工作(仅适用于a10)。 这是可行的吗?

您可以添加逻辑分支到您的事件更改macros,以便它在运行之前检查某个参数。 首先,创build一个全局布尔variables,其中包含True或False,然后使您的子A9将其切换为True。 例如:

 Global Start_Event_Code as Boolean Sub A9 'Other Code Start_Event_Code = True End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Start_Event_Code Then 'Do stuff End If End Sub 

那么你可以这样做,使A10的子再次closures它:

 Sub A9 Start_Event_Code = False 'Other Code End Sub