gpt4 book ai didi

vba - 数据验证选择后运行事件宏

转载 作者:行者123 更新时间:2023-12-04 21:16:01 24 4
gpt4 key购买 nike

我在名为报告的工作表上建立了一个数据验证列表,每次从列表中选择一个项目时,我都需要运行一个宏。现在我在下面有这段代码,但它不起作用。它确实在 VBA 中运行,但是当我在工作表中选择项目时它不会运行,好像我没有引用宏

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(True, True) = "$B$3" Then
Select Case Target
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case Else
'Do Nothing
End Select
End If
End Sub

最佳答案

如果您想在更改 B3 中的值时运行该过程(从数据验证列表中选择,那么您需要一个 Worksheet_Change 事件宏,而不是 Worksheet_SelectionChange。

此外,如果工作表上的任何内容要更改,那么您将需要禁用事件,以便事件宏不会尝试在其自身之上运行。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
On Error GoTo bm_Safe_Exit
Application.EnableEvents = False
Select Case Target.Value2
Case "ABCP"
Call Macro1
Case "Accounting Policy"
Call Macro2
Case Else
'Do Nothing
End Select
End If
bm_Safe_Exit:
Application.EnableEvents = True
End Sub

当 B3 从列表中选择了一个新值时,这应该会启动正确的子过程。如果 m Macro1 和 Macro2 仍然存在问题,您必须提供更多详细信息(和代码)。

关于vba - 数据验证选择后运行事件宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com