Excel 2011(Mac OS X)中的下拉菜单中的“对象不支持此操作”

时间:2012-12-17 10:27:51

标签: excel vba excel-vba excel-vba-mac excel-2011

我有一个使用Office 2010制作的大型Excel工作簿和一些VBA代码。除了下拉菜单外,一切似乎都很好。确切地说,它们以图形方式工作,但

Me.Shapes("Drop Down 1").ControlFormat

抛出“对象不支持此操作”错误(我确信“Drop Down 1”是正确的名称等),确切地说,它被正确引用(例如shape = Me.Shapes(1)有效)但是它似乎不喜欢ControlFormat。谷歌没有多大帮助;有什么建议吗?

我对VBA很陌生,所以可能会有一些我不知道的琐碎调试巫术。

编辑:我尝试创建一个带有虚拟下拉菜单的新工作簿,并在录制宏的同时选择值,但它没有结果(就像菜单从未存在过)。

1 个答案:

答案 0 :(得分:2)

我知道这听起来有点令人沮丧和愚蠢,但对于Excel 2011,更改行

Me.Shapes("Drop Down 1").ControlFormat

Worksheets("Sheet1").Shapes("Drop Down 1").ControlFormat

例如

这将在Excel 2010中有效,但在Excel 2011中无效

Sub Sample()
    With Me.Shapes("Drop Down 1").ControlFormat
        .AddItem "Sid"
    End With
End Sub

它会告诉你你提到的错误。

<强> SCREENSHOT

enter image description here

对于Excel 2011,您必须使用(完全限定对象

Sub Sample()
    With Worksheets("Sheet1").Shapes("Drop Down 1").ControlFormat
        .AddItem "Sid"
    End With
End Sub

<强> SCREENSHOT

enter image description here

注意:将上面的Sheet1替换为相关的工作表名称。