Mac上的VBA下拉列表中无法设置ControlFormat.Value

我在Excel中创build了一个导航系统,在VBA中使用了两个相互关联的下拉框(表单控件)。 首先是主要类别(Drop Down 186),其次是主要类别中的子类别(Drop Down 187)

当我select主要类别(186)时,我将子类别(187)重置为列表项目#1使用:

Sheets("Equipment").Shapes("Drop Down 187").ControlFormat.Value = 1

这可以在PC上正常工作,但在Excel 2016中发出1004错误,并显示“无法设置DropDown类的Value属性”消息。

有任何想法吗? 很确定这在Excel 2011上正常工作。

编辑:好的,所以我撒谎在下面。 我上面的答案解决了另一个在2011年Mac版Excel中发生的崩溃,但是我们仍然在2016年发生崩溃。任何人有任何想法?

Siddharth,我尝试将Sheets更改为Worksheets,但得到相同的错误。 感谢您的想法。


好的,我明白了这一点。 启动文件时,默认情况下,下拉框不会被填充。 Mac Excel有一个奇怪的方式来显示和使用下拉框,这要求用户点击并按住下拉框上的箭头来select一个列表项。 如果你只是点击它,没有select列表项,但关联的macros仍然运行。 并抛出一个错误,因为没有variables来处理。 所以我在启动时填充了下拉框。 这在Windows中不是问题,因为没有办法做到这一点。 从logging上看,从2016年的情况看,Excel 2016看起来比WAY更好。 谢谢Joel