如何使combobox不接受Excel Vba中的用户输入?

如何使combobox不接受Excel Vba中的用户输入?,excel,vba,controls,excel-2007,Excel,Vba,Controls,Excel 2007,有人知道组合框中的属性是什么吗?为了不允许用户键入任何数据,我可以对这些属性进行操作。将组合框的样式设置为2-fmStyleDropDownList。这将不允许用户输入,也将阻止(组合框)。通过宏更改值 YourComboBoxName.Style = fmStyleDropDownList 或 (来自MS Excel帮助)以下是一种为工作表上的每个对象更改此设置的方法: Private Sub fixComboBoxes() Dim OLEobj As OLEObject D

有人知道组合框中的属性是什么吗?为了不允许用户键入任何数据,我可以对这些属性进行操作。

将组合框的样式设置为
2-fmStyleDropDownList
。这将不允许用户输入,也将阻止(组合框)。通过宏更改值

YourComboBoxName.Style = fmStyleDropDownList


(来自MS Excel帮助)

以下是一种为工作表上的每个对象更改此设置的方法:

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

你在说什么样的组合框?combobox控件或您可以使用“数据验证”选项添加到工作表中的控件?@cularis是插入-->activex-->combobox上的控件有办法通过编程实现吗?@AndréTerra如果您仍然好奇,请参阅刚才发布的I:)
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