2011-08-10 23 views

Odpowiedz

33

Ustaw styl combobox na 2 - fmStyleDropDownList. To uniemożliwi wprowadzanie danych przez użytkownika, a także zapobiegnie zmianom (combobox) .value przez makro.

+0

Och, dziękuję bardzo :) – Vivian

+0

Czy jest sposób, aby to zrobić programowo? –

+1

@ AndréTerra zobacz [odpowiedź] (http://stackoverflow.com/questions/7006888/how-to-get-combobox-not-to-accept-user-input-in-excel-vba/19322189#19322189) I właśnie wysłana, jeśli nadal jesteś ciekawy :) – enderland

4
YourComboBoxName.Style = fmStyleDropDownList 

lub

YourComboBoxName.Style = 2 

(to z MS Excel Help)

5

Oto sposób, aby to zmienić dla każdego obiektu w arkuszu:

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