正如标题所示,我想要一个特定的宏(PopulateCalculatorWithWeekChosen)在用户更改'摘要'中的值时运行。工作表,单元格H10。
我找到了下面的问题和答案并尝试了但它似乎没有触发它。我是否正确理解我将代码放在下面......
Trigger event when select from dropdown
Sub PopulateCalculatorWithWeekChosen()
If Target.Address = "$H$10" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
[PopulateCalculatorWithWeekChosen宏中的其余代码]
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End If
End Sub
......在正确的地方? 它似乎没有做任何事情。提前感谢您的帮助。
答案 0 :(得分:0)
问题是您已经定义了一个宏,而您引用的问题/答案是使用Worksheet_Change
事件。在您的VBA代码中,您应该具有包含Change事件的Worksheet对象。事件只是在特定事件发生时触发的函数。
在这种情况下,只要修改工作表,就会触发函数Worksheet_Change
。你应该有这样的东西:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$10" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End If
End Sub
当您修改工作表时,Excel将自动调用此函数,并通过在Target
参数中提供该信息来告知您修改了哪些单元格。