Czy ktoś wie, jakie właściwości są w combobox, że mogę manipulować, aby nie pozwolić użytkownikowi na klucz/wpisz żadnych danych?Jak ustawić, aby combobox nie akceptował danych wprowadzanych przez użytkownika w Excel-Vba?
Odpowiedz
Ustaw styl combobox na 2 - fmStyleDropDownList
. To uniemożliwi wprowadzanie danych przez użytkownika, a także zapobiegnie zmianom (combobox) .value przez makro.
Och, dziękuję bardzo :) – Vivian
Czy jest sposób, aby to zrobić programowo? –
@ 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
YourComboBoxName.Style = fmStyleDropDownList
lub
YourComboBoxName.Style = 2
(to z MS Excel Help)
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
Jakie combobox są mówisz o? Formant combobox lub ten, który można dodać do arkusza za pomocą opcji "Sprawdzanie danych"? – Jacob
@cularis jest to ten na wstawce -> activex -> combobox – Vivian