【问题标题】:Reset form but set a single field to a certain value重置表单但将单个字段设置为某个值
【发布时间】:2012-10-18 09:37:29
【问题描述】:

我创建了一个重置​​按钮,该按钮当前清除了我创建的整个 VBA 表单。但是,我希望它清除整个表单并将名为 cbo_deptCode 的下拉列表的值设置为“CO - 计算机科学”。我将如何实现这一目标?

这是我目前的代码:

Private Sub btn_Reset_Click()

    ' Reset form
    Dim ctl As MSForms.Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
                ctl.ListIndex = -1
        End Select
    Next ctl

End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    为什么不直接添加:

    cbo_deptCode.Value = "CO - Computer Science"
    

    在你的循环之后?

    【讨论】:

    • 我输入了cbo_deptCode = "CO - Computer Science",但它现在可以工作了。感谢您为我指明正确的方向。
    • 组合框的具体属性是什么?您是否将 MatchEntry 设置为 true,如果是,那么该文本是否在列表中?您是否将其设置为仅列出模式?更改事件中是否有任何可能触发的代码?
    • 文本在列表中可用。 MatchEntry 设置为 true 并设置为 ListOnly 模式。
    • 啊,对了,CO - Computer Sci 不在列表中,但 CO - Computer Science 在列表中。 cbo_deptCode.Value = "CO - Computer Science" 在这种情况下应该可以工作。
    • 感谢您的帮助!我还在掌握 VBA
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多