首页 文章

使用VBA下拉整个列的验证

提问于
浏览
0

我是VBA的新手,并尝试对整个列中的数据进行数据验证 . 使用以下代码执行此操作 .

ActiveSheet.Range("O:O").Select
With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=data_validation!N2:N340"
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With

使用此代码,我可以为所选列中的每个单元格下拉,但下拉列表中的值将逐个删除 . 例如,如果在列表中,我有值[1,2,3,4,5] . 在第一个单元格下拉列表中,我可以选择[1,2,3,4,5] . 在第二个单元格下拉中,我可以选择[2,3,4,5]等等 . 请帮忙 .

1 回答

  • 0

    您已将验证公式作为相对参考输入,因此对于每个连续的单元格,验证范围将偏移1行 . 因此,请输入公式作为绝对参考

    =data_validation!$N$2:$N$340
    

相关问题