0

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

现在我不能使用这个下拉菜单,因为每次更改值都会抱怨无法执行已删除的代码。

如果我想查看它的代码 assigen 会抛出错误“无效引用”。

如何删除此事件代码?

编辑如果我添加请求的功能,整个错误就会消失

Public Sub Dropdown4_BeiÄnderung()
' must exist
End Sub

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

4

1 回答 1

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

分配宏对话框的屏幕截图

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

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

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

于 2013-04-25T12:56:13.103 回答