我使用Excel 2010中Excel的VBA組合框清晰
我要清除組合框在我的表中的內容(明確到空白的時候不是選中等),但我不知道該怎麼選擇並清除。我想選擇這樣的組合框:
Sheet1.ComboBox1.Clear
但是,沒有「組合框」是工作表Sheet1對象下。只有選擇我的組合框是使用此:
Sheet1.Shapes("Drop Down 24")
我不知道如何選擇和清除內容,任何人都可以幫助我嗎?
我使用Excel 2010中Excel的VBA組合框清晰
我要清除組合框在我的表中的內容(明確到空白的時候不是選中等),但我不知道該怎麼選擇並清除。我想選擇這樣的組合框:
Sheet1.ComboBox1.Clear
但是,沒有「組合框」是工作表Sheet1對象下。只有選擇我的組合框是使用此:
Sheet1.Shapes("Drop Down 24")
我不知道如何選擇和清除內容,任何人都可以幫助我嗎?
什麼
ActiveSheet.Shapes.Range(Array("Drop Down 24")).Select
With Selection
.ListFillRange = ""
End With
謝謝。現在所有的列表選項都消失了。但我想保留原始列表選項。有沒有辦法讓組合框變清楚,並在點擊下拉菜單時顯示選項? –
不確定要理解......你想讓組合框被填充或清空嗎?或根據某個事件填充/清空?如果是這樣,我不會推薦使用ActiveX控件,而不是非常靈活的控件,而是一個用戶窗體,你可以完全控制所有的形狀 – lmb
謝謝。問題解決了。 –
我假設你真的想使你的控制空白的顯示值。在這種情況下,爲Drop Down Object,當你指出你會做到這一點:
Sheet1.Shapes("Drop Down 2").OLEFormat.Object.Value = 0
其中0表示從列表中哪些元素被選中I.E.沒有。
如果不工作,那麼你很可能實際處理在這種情況下要使用這個組合框:
Sheet1.Shapes("Drop Down 2").OLEFormat.Object.Object.Value = ""
注意創建此代碼和測試在Excel 2003(我因此到達實際對象的路徑在Excel 2010上可能略有不同。)
感謝您的回覆。 –
+1用於詳細解釋。 –
將下拉列表重置爲空白單元格,但仍然保留列表供將來使用。
創建宏以清除單元格。在錄製過程中,只需選擇單元格並選擇「清除內容」即可。這會將選擇設置爲空白單元格,但仍然保留下拉列表。
它看起來像這樣。
Range("H3").Select
Selection.ClearContents
作爲一個真正的程序員,我寧願喜歡這種方式。這並不取決於表格上的excel「範圍記憶選擇」。
Set oCombo = Sheets("SheetName").Shapes("cmbComboName").ControlFormat
For I = oCombo.ListCount To 1 Step -1
oCombo.RemoveItem (I)
Next
你是否嘗試'錄製宏',而這樣做手動? –
就像@ScottHoltzman建議的那樣,記錄你想要的動作的宏,然後查看Excel創建的代碼是瞭解如何在VBA中編寫代碼的好方法。 – PowerUser