【问题标题】:How to get combobox not to accept user input in Excel-Vba?如何让组合框不接受 Excel-Vba 中的用户输入?
【发布时间】:2011-10-23 19:52:17
【问题描述】:

有谁知道我可以操纵组合框中的哪些属性以不允许用户键入/键入任何数据?

【问题讨论】:

  • 你在说什么样的组合框?组合框控件还是您可以使用“数据验证”选项添加到工作表的控件?
  • @cular 是插入的那个 --> activex -->combobox

标签: excel vba controls excel-2007


【解决方案1】:

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

【讨论】:

  • 有没有办法以编程方式做到这一点?
  • @AndréTerra 如果您仍然好奇,请参阅我刚刚发布的answer :)
【解决方案2】:
YourComboBoxName.Style = fmStyleDropDownList

YourComboBoxName.Style = 2

(来自 MS Excel 帮助)

【讨论】:

    【解决方案3】:

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

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-18
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      相关资源
      最近更新 更多