2011-08-10 156 views
12

有誰知道我可以操作的組合框中的屬性是什麼,以便不允許用戶鍵入/鍵入任何數據?如何讓組合框不接受Excel-Vba中的用戶輸入?

+0

什麼樣的組合框的是你在說什麼?組合框控件還是可以通過「數據驗證」選項添加到工作表的控件? – Jacob

+0

@cularis其中一個插入 - > activex - > combobox – Vivian

回答

33

將組合框的樣式設置爲2 - fmStyleDropDownList。這將禁止用戶輸入,並且還會通過宏防止(combobox).value更改。

+0

非常感謝你:) – Vivian

+0

有沒有辦法以編程方式做到這一點? –

+1

@AndréTerra看到[答案](http://stackoverflow.com/questions/7006888/how-to-get-combobox-not-to-accept-user-input-in-excel-vba/19322189#19322189)我只是張貼如果你仍然好奇:) – enderland

4
YourComboBoxName.Style = fmStyleDropDownList 

YourComboBoxName.Style = 2 

(從MS Excel幫助的)

5

下面是在工作表上更改此爲每個對象的方式:

Private Sub fixComboBoxes() 
    Dim OLEobj As OLEObject 
    Dim myWS As Worksheet 
    Set myWS = Sheet1 
    With myWS 
     For Each OLEobj In myWS.OLEObjects 
      If TypeOf OLEobj.Object Is MSForms.ComboBox Then 

       OLEobj.Object.Style = fmStyleDropDownList 
      End If 
     Next OLEobj 
    End With 
End Sub 
相關問題