VBA:如何更改Userform&的默认选择限制用户在下拉列

时间:2017-12-06 01:04:22

标签: excel vba excel-vba

我创建了一个带有文本框和下拉选项的用户表单

  1. 文本框(用户)
  2. 下拉(地点)
  3. 下拉(语言)
  4. 我在这里面临两个问题,

    问题1.当我打开用户窗体时,默认选择将在第二个选项(放置)下。如何在第一个选项(文本框(用户))上获取默认选项。因此,用户可以给出值,然后向下并从下拉列表中选择值。

    问题2.用户能够在下拉选项下键入值,如何防止他们这样做。

    Private Sub UserForm_Initialize()
        Dim cPlace As Range
        Dim cLanguage As Range
        Dim ws As Worksheet
        Set ws As Worksheets
    
        With Me.cboPlace
            .AddItem "Eng"
            .AddItem "Aus"
            .AddItem "USA"
        End With
    
        With Me.cboLanguage
            .AddItem "English"
            .AddItem "Spanish"
            .AddItem "French"
        End With
        Me.cboLanguage.Setfocus
    
    End Sub
    

2 个答案:

答案 0 :(得分:1)

如果我正确理解您的要求,那么

打开表单时的默认光标位置是TABINDEX属性最低的控件(通常为1)。

要防止用户将自由文本输入到组合框或列表框中,请将属性MATCHREQUIRED设置为True

答案 1 :(得分:1)

如果TABINDEX无法正常工作,最好重新排列文本框的顺序,如果它们的数量较少