我只是试图填充嵌入在Excel工作表中的组合框。我正在使用Excel 2010 for Mac。我可以不使用VBA工作表变量Me来填充该Excel工作表中嵌入的ComboBox?
下返回运行时错误445“对象不支持此操作”
Public Sub Worksheet_Activate()
With Me.Shapes("TheComboBox").ControlFormat
.RemoveAllItems
.List = Array("me", "you")
End With
但下面的工作精细
Public Sub Worksheet_Activate()
With Worksheets(1).Shapes("TheComboBox").ControlFormat
.RemoveAllItems
.List = Array("me", "you")
End With
注意,代码是在工作表1的Worksheet_Activate子等等我和工作表(1)应该提到完全相同的东西(对吧?)。
我发现this类似的帖子在线建议Excel for Mac不喜欢在作为变量传递的工作表上使用ControlFormat。是否有避免必须硬编码工作表的编号或名称的解决方法?我不希望用户移动或重命名表单,从而打破它。
可能相关:为什么是你的[Worksheet_Activate(https://msdn.microsoft.com/en-us/library/office/ff198220.aspx)事件宏** **公众而不是私人** **?这是我不知道的[osx]特性吗? – Jeeped
Nah我只是想从另一个程序中调用它。红鲱鱼......将其改为私人不会影响问题。 – alfymbohm