Как получить комбобокс, чтобы не принимать пользовательский ввод в Excel-Vba? - PullRequest
18 голосов
/ 10 августа 2011

Кто-нибудь знает, какие свойства есть в выпадающем списке, которым я могу манипулировать, чтобы пользователь не мог вводить / вводить какие-либо данные?

Ответы [ 3 ]

47 голосов
/ 10 августа 2011

Установите стиль комбинированного списка на 2 - fmStyleDropDownList. Это запретит ввод данных пользователем, а также предотвратит (combobox) .value изменения через макрос.

5 голосов
/ 11 октября 2013

Вот способ изменить это для каждого объекта на листе:

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
4 голосов
/ 25 января 2013
YourComboBoxName.Style = fmStyleDropDownList

или

YourComboBoxName.Style = 2

(это из справки MS Excel)

...