我有一个工作表,我尝试以编程方式在适当的时候添加DataValidation-Lists Range(BF:BZ)
目前Range(D3:D500)
中的所有单元格都使用DataValidation列表=type
,我有sub
来检查该范围内的任何单元格是否发生变化。如果是这样,它会更新该行中的所有单元格。当我到达选项范围时,它会引用单独表格上的表格来填写内容。
此时填充每个选项时,我还需要根据单元格中的文本在适当时创建DataValidation列表。第6行是需要列表的结果示例,而第3行到第5行有多个结果应该保持不变(对于某人稍后手动输入ID或沿着这些行输入某些内容)
Dim formString As String
Let formString = "=" & Range(colAddress)
Range(colAddress).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=formString
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "InputTitle"
.ErrorTitle = "ErrorTitle"
.InputMessage = "InputMsg"
.ErrorMessage = "ErrorMsg"
.ShowInput = True
.ShowError = True
End With
此代码适用于存在有效DataValidation列表的情况,但当Run-time error '1004': Application-defined or object-defined error
具有formString
speed_OW
我是否必须基本上列出包含所有有效查找的列表,并调用类似IFERROR(VLOOKUP(Range(colAddress),listOfLists,1,FALSE),"No List")
或者是否有更简洁的方法来执行此操作以便:如果当前单元格存在数据验证列表,则设置它,否则单独保留单元格以供用户手动更改
修改以下附加信息
所以在另一个问题中,有人提到引用名称管理器,我认为只需查看,我需要检查条件。我明天会试试这个