多个工作表更改事件:多个下拉列表

时间:2018-12-18 19:35:31

标签: excel vba events onchange worksheet

我正在尝试创建一个工作簿,如果我更改一张纸上的下拉菜单,它将自动更新第二张纸上的同一下拉菜单。这些下拉菜单将代表不同的方案,而我创建该下拉菜单的目的是使最终用户能够从任何工作表(而不只是一个表)更改方案下拉菜单。

我使用此参考来创建用于更改1下拉菜单-Original VBA code referenced-的VBA,它可以正常工作(See example workbook to download)。但是,现在我想添加其他2个下拉列表,以便对它们进行任何更改都可以相应地更新。

如果您知道更好的方法,我也愿意接受其他解决方案。

1 个答案:

答案 0 :(得分:0)

抱歉,这个问题很简单-我是VBA的新手。

Original VBA code referenced中的示例为例,如果您希望将此规则应用于2组下拉菜单(共4组)而不是1组,则可以复制“ If Not Intersect(。 ..“到” ..End if“,然后将引用更新为第二组单元格。

示例:

'***************代码块开始 显式选项

私有子工作表_更改(按目标的ByVal目标) targetSheet作为工作表昏暗

如果没有相交(目标,范围(“ A1”))什么都没有,那么'只看单元格A1     设置targetSheet = ActiveWorkbook.Worksheets(“ Sheet2”)'定义要复制到的工作表     关于错误继续     Application.EnableEvents = False     targetSheet.Range(“ B1”)= Target.Value'复制到目标工作表上的单元格B1     Application.EnableEvents =真 如果结束

如果没有相交(目标,范围(“ A2”))什么都没有,那么'只看单元格A1     设置targetSheet = ActiveWorkbook.Worksheets(“ Sheet2”)'定义要复制到的工作表     关于错误继续     Application.EnableEvents = False     targetSheet.Range(“ B2”)= Target.Value'复制到目标工作表上的单元格B1     Application.EnableEvents =真 万一 结束

'******************代码块结束

然后您将重复其他工作表。