Excel VBA,数据验证列表。列表属性

时间:2017-08-29 09:53:56

标签: excel vba excel-vba

我想添加创建DataValidation DropDownList两件事。首先是将DropDownList中的行数设置为特定的数字,就像可以通过" .ListRows = 11"在VBA中使用普通的组合列表一样。其次是如果他开始手动输入而不是从列表中选择,则自动完成由用户键入的文本(组合列表中的MatchEntry)到DropDownList中基于单元格的位置。我看到我不能从Validation.Add Method (Excel)中的位置做到这一点,我对代码构造知之甚少,我怎么能这样做,或者如何通过VBA代码裁判创建列表。

With Range("F26:H26").Validation
    .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="=RootCauses!A1:A11"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = varValTitle
    .ErrorTitle = varValErrTitle
    .InputMessage = varValMessage
    .ErrorMessage = varValErrMessgae
    .ShowInput = True
    .ShowError = True
    .ListRows = 11 '← my first broken solution
    .MatchEntry = 1 '← my second broken solution
End With

1 个答案:

答案 0 :(得分:0)

好的,所以数据验证有下拉列表作为附加选项,所以我创建了combolist对象并将所有参数设置为自动完成输入单词,设置行数并适合所需范围。