我是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 回答
您已将验证公式作为相对参考输入,因此对于每个连续的单元格,验证范围将偏移1行 . 因此,请输入公式作为绝对参考