我是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]等等。 请帮忙。
答案 0 :(得分:0)
您已将验证公式作为相对参考输入,因此对于每个连续的单元格,验证范围将偏移1行。因此,请输入公式作为绝对参考
=data_validation!$N$2:$N$340