VBA清除ActiveX组合框列表

时间:2019-01-18 12:47:28

标签: excel vba combobox activex

如何使用VBA清除Excel ActiveX ComboBox列表。我希望这段代码可以工作:

Sheet1.OLEObjects(1).Clear

但会提高

  

运行时错误对象不支持此属性或方法。

我很困惑,因为这可行:

Sheet1.OLEObjects(1).Name

返回名称TempCombo

尝试此操作时我仍然失败:

Sheet1.TempCombo.Clear

它返回错误:

  

运行时错误未指定的错误。

我还应该检查什么?

2 个答案:

答案 0 :(得分:1)

如果要清除ActiveX ComboBox列表,则可以尝试执行以下操作...

Sheet1.OLEObjects(1).ListFillRange = ""

或更准确地说,这...

If TypeName(Sheet1.OLEObjects(1).Object) = "ComboBox" Then
    Sheet1.OLEObjects(1).ListFillRange = ""
End If

答案 1 :(得分:0)

如果组合框具有名称,则只能引用该名称。喜欢

With mySheet
    .cbMyComboBox.ListFillRange = vbNullString
End with