vba:更改下拉列表丢失的事件代码

时间:2013-04-25 12:50:25

标签: excel vba

我的Excel工作表中有一个下拉框。 在某些时候,vba为下拉列表分配了一个事件代码,我将其删除。

现在我无法使用此下拉列表,因为在每次更改值时都会抱怨 无法执行已删除的代码。

如果我想看到它的代码assigen引发错误“无效引用”。

如何删除此事件代码?

EDIT 如果我添加所请求的功能

,整个错误就会消失
Public Sub Dropdown4_BeiÄnderung()
' must exist
End Sub

但实际上我希望能够将其删除。

1 个答案:

答案 0 :(得分:1)

如果您知道此组合框形状的name,则可以在VBA中执行此操作:

Sub Dropdown4NoMacro()
Dim shpName as String
shpName = "Drop Down 4" '## Modify as needed.'

ActiveSheet.Shapes(shpName).OnAction = vbNullString
End Sub

编辑没有VBA:

您应该能够右键单击该控件,然后选择Assign Macro,您将在其中看到Dropdown4_BeiÄnderung(或ThisWorkbookName!Dropdown4_BeiÄnderung)。

只需删除该字段即为空,然后按OK。查看屏幕截图,在按OK之前,突出显示的字段应为空。

screenshot of Assign Macro dialog

原始答案(假设这与Worksheet_change事件有关。

尝试按ALt + F11以显示Visual Basic编辑器。在左侧,您应该看到Objects的列表,包括工作簿和几个工作表。右键单击相应的工作表以查看该工作表中的代码。

然后,删除与Worksheet_Change事件相关联的所有代码 - 或者在此处发布代码,以便我们可以告诉您是否有任何可能要保留的部分,同时仅删除 影响下拉控制的部分。