如何在Excel-Vba中使组合框不接受用户输入?

24

有人知道在组合框中可以操纵哪些属性,以防止用户键入任何数据吗?


你在说哪种组合框?是控件里的组合框还是可以通过“数据验证”选项添加到工作表中的那种? - Jacob
@cularis,它是插入->ActiveX->组合框中的那个。 - Vivian
3个回答

56
将组合框的样式设置为2 - fmStyleDropDownList。 这将禁止用户输入,并且也会通过宏阻止(组合框).value更改。

1
有没有一种编程的方法来实现这个? - airstrike
1
如果你还感兴趣,可以看一下我刚刚发布的答案 @AndréTerra :) - enderland

6
YourComboBoxName.Style = fmStyleDropDownList

或者

YourComboBoxName.Style = 2

(这是来自 Microsoft 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接