Excel VBA - 从下拉框更改触发宏而不将代码保存到工作表

时间:2017-07-28 09:08:13

标签: excel vba excel-vba validation

我想要我的宏" AIMS_Criteria"当" AIMS"工作表下拉单元格A1中的数据验证框。

我发过帖子,人们建议右键单击表格,转到查看代码并粘贴:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A1")
Call Criteria

End Sub

然而,这对我来说每周都不起作用,工作表中的数据会导出到另一张表中。出于这个原因,我需要在Personal.xlsb中使用我的所有宏。

无论如何,我可以在不更改特定表单中的代码的情况下实现我的需求吗?

由于

1 个答案:

答案 0 :(得分:0)

按照此处的说明(http://www.cpearson.com/excel/appevent.aspx)捕获应用程序事件。类模块应该在您的Personal.xlsb中。

每次在任何工作簿中的任何工作表中进行任何更改时,SheetChange事件都将触发。因此,您必须检查在您要运行宏的工作簿中的工作表中是否实际更改了A1。

在SheetChange事件中,您可以将工作簿标识为Sh.Parent