Excel VBA组合框清除

时间:2012-10-29 21:36:08

标签: excel-vba excel-2010 vba excel

我正在使用excel 2010。

我想要清除工作表中组合框的内容(清除为空白时,如未选中),但我不知道如何选择和清除。我试着选择一个这样的组合框:

Sheet1.ComboBox1.Clear

但是没有'ComboBox'在Sheet1对象下。选择我的组合框的唯一用途是:

Sheet1.Shapes("Drop Down 24")

我不知道如何选择和清除内容,有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

怎么样?
ActiveSheet.Shapes.Range(Array("Drop Down 24")).Select
With Selection
    .ListFillRange = ""
End With

答案 1 :(得分:1)

我假设您确实希望将控件的显示值设为空白。在这种情况下,对于Drop Down Object,如您所示,您将执行此操作:

Sheet1.Shapes("Drop Down 2").OLEFormat.Object.Value = 0

其中0表示列表中的哪个元素被选中。无。

如果这不起作用,那么你可能实际上正在处理一个ComboBox,在这种情况下你想要使用它:

Sheet1.Shapes("Drop Down 2").OLEFormat.Object.Object.Value = ""

请注意,此代码是在Excel 2003(我在此计算机上拥有的内容)中创建和测试的,因此在Excel 2010上到达实际对象的路径可能略有不同。)

答案 2 :(得分:1)

作为一个非常程度的程序员,我宁愿选择这种方式。这不取决于工作表上的excel“范围内存选择”。

Set oCombo = Sheets("SheetName").Shapes("cmbComboName").ControlFormat
For I = oCombo.ListCount To 1 Step -1
    oCombo.RemoveItem (I)
Next

答案 3 :(得分:0)

将下拉列表重置为空白单元格,但仍保留该列表以供将来使用。

创建宏以清除单元格。在录制过程中,只需选择单元格并选择“清除内容”。这会将选择设置为空白单元格,但仍保留下拉列表。

例如,它看起来像这样。

Range("H3").Select
Selection.ClearContents