代码之家  ›  专栏  ›  技术社区  ›  Przemyslaw Remin

“清除ActiveX”组合框列表

  •  0
  • Przemyslaw Remin  · 技术社区  · 5 年前

    如何用VBA清除Excel ActiveX组合框列表。我希望此代码可以工作:

    Sheet1.OLEObjects(1).Clear
    

    但它提出

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

    我很困惑,因为这项工作:

    Sheet1.OLEObjects(1).Name
    

    返回名称 TempCombo .

    当我尝试这个的时候,我还是失败了:

    Sheet1.TempCombo.Clear
    

    返回错误:

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

    我还应该检查什么?

    2 回复  |  直到 5 年前
        1
  •  1
  •   Subodh Tiwari sktneer    5 年前

    如果要清除ActiveX组合框列表,可以尝试类似这样的操作…

    Sheet1.OLEObjects(1).ListFillRange = ""
    

    或者更准确地说…

    If TypeName(Sheet1.OLEObjects(1).Object) = "ComboBox" Then
        Sheet1.OLEObjects(1).ListFillRange = ""
    End If
    
        2
  •  0
  •   Joost    5 年前

    如果组合框有一个名称,则只需引用该名称即可。喜欢

    With mySheet
        .cbMyComboBox.ListFillRange = vbNullString
    End with