excel - "Object doesn' t 支持此操作"用于 Excel 2011 (Mac OS X) 中的下拉菜单

标签 excel vba macos excel-2011

我有一个用 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

它会给你你提到的错误。

屏幕截图

enter image description here

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

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

屏幕截图

enter image description here

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

关于excel - "Object doesn' t 支持此操作"用于 Excel 2011 (Mac OS X) 中的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13912337/

相关文章:

vba复制一定范围并粘贴为图片

c# - Excel 导入的 SQL 注入(inject)漏洞

objective-c - 单击时更改/重置 TextField 中的 NSAttributedString

excel - 从 VB 脚本运行 Excel 宏,但不提示 VBA 运行时错误

java - MAC 上的 Eclipse,将当前目录设置为 Documents 文件夹而不是 APP BUNDLE

php - Mac 服务器上的 MySQL 和 PHP 问题

python - 使用python添加两个列表和一个图像作为excel文件的标题

mysql - 运行时错误 '424' : Object Required

vba - 在vba中比较日期

excel - 如何按单元格中的第一个字符过滤范围?