我有一个用 Office 2010 和一些 VBA 代码制作的大型 Excel 工作簿。除了下拉菜单之外,一切似乎都可以正常工作。准确地说,它们以图形方式工作,但是
Me.Shapes("Drop Down 1").ControlFormat
抛出“对象不支持此操作”错误(我确信“Drop Down 1”是正确的名称等),准确地说,它被正确引用(例如 shape = Me.Shapes (1)
有效)但它似乎不喜欢 ControlFormat
。谷歌帮不上什么忙;有什么建议吗?
我对 VBA 很陌生,所以可能有一些我不知道的微不足道的调试巫术。
编辑:我尝试创建一个带有虚拟下拉菜单的新工作簿,并在录制宏的同时选择值,但没有给出任何结果(就像菜单从未存在过一样)。
最佳答案
我知道这听起来既令人沮丧又愚蠢,但对于 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
它会给你你提到的错误。
屏幕截图
对于 Excel 2011,您必须使用(完全限定对象)
Sub Sample()
With Worksheets("Sheet1").Shapes("Drop Down 1").ControlFormat
.AddItem "Sid"
End With
End Sub
屏幕截图
注意:将上面的 Sheet1
替换为相关的工作表名称。
关于excel - "Object doesn' t 支持此操作"用于 Excel 2011 (Mac OS X) 中的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13912337/