【发布时间】:2016-05-20 02:33:02
【问题描述】:
下午好。我正在使用 VBA 构建数据库。现在我在一张纸上有三个数据验证下拉菜单。每个菜单都有一个列表,其中包含我可以单击并调用宏的项目。这些宏的功能是在另一个工作表上打印出一些项目。这是我的数据验证代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
Select Case Target.Value2
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case "Audit Committee"
Call Macro3
Case "Auto"
Call Macro4
Case "Auto Issuer Floorplan"
Call Macro5
Case "Auto Issuers"
Call Macro6
Case "Board of Director"
Call Macro7
Case "Bondholder Communication WG"
Call Macro8
Case "Canada"
Call Macro9
Case "Canadian Market"
Call Macro10
End Select
End If
End Sub
这是第一次数据验证的代码。我还有另外两个需要具有相同功能的数据验证列表。但是,我无法将数据验证所在的单元格分配给具有这种格式的另一个代码,否则当前代码将停止工作。我试图更改 Private_sub 工作表名称,但它不会这样做。我该怎么做?
提前谢谢你!
【问题讨论】:
-
你能扩展你正在尝试做的事情吗(也许有一些伪代码)?你不能在其他验证中使用
B3? -
Target.Address = "$B$3" 或 Target.Address = "$C$3"
-
或选择案例地址,然后在选择案例内容中
-
@BruceWayne。情况是,现在我有三个独立的数据验证,每个都有一个项目列表,我可以单击并调用一个宏来运行。就像上面的代码一样,当我在 B3 单元格中选择一个项目时,将执行相应的宏,并且这个宏完美运行。与此同时,我还有另外两个数据验证应该在同一个工作表上具有与这个相同的功能。我尝试使用格式来实现,只有将目标地址单元格更改为B4或B5,它不起作用,并且会损害当前的功能。
-
@Nathan_Sav,请检查我留下的评论或布鲁斯,我确定是 B3。
标签: vba excel validation