Vba 使用变量创建多个验证列表
我有50个动态命名范围,称为“Line1_S”、“Line2_S”、“Line3_S”,。。。至“第50行” 在我的工作表“定价工具”中,我想在单元格C7到C56中创建50个验证(下拉)列表 单元C7应具有命名范围“Line1_S”,单元C8应具有“Line2_S”,依此类推,直到C56具有“Line50_S” 我的代码的公式部分不断出现错误;请你看一下,帮我解决这个问题好吗Vba 使用变量创建多个验证列表,vba,excel,Vba,Excel,我有50个动态命名范围,称为“Line1_S”、“Line2_S”、“Line3_S”,。。。至“第50行” 在我的工作表“定价工具”中,我想在单元格C7到C56中创建50个验证(下拉)列表 单元C7应具有命名范围“Line1_S”,单元C8应具有“Line2_S”,依此类推,直到C56具有“Line50_S” 我的代码的公式部分不断出现错误;请你看一下,帮我解决这个问题好吗 Sub test() Dim j As Integer For j = 1 To 50 With Shee
Sub test()
Dim j As Integer
For j = 1 To 50
With Sheets("Pricing Tool").Cells(j + 6, 3).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Line" & j & "_S" ' this is where the error occurs
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next
End Sub
非常感谢你的帮助
编辑-在命名范围的示例下方:
=OFFSET('Size Selection'!$E$4, 0, 0, 1, COUNT(IF('Size Selection'!$E$4:$AJ$4="", "", 1)))
作为注释的后续,当返回
#REF!时,偏移(..)
触发的错误代码>
偏移量由其他下拉列表控制,其中一些列表中没有选择项,即它们是空的
解决这个问题的主要方法是从下拉列表中选择一些东西,这些东西Offset
返回一些东西(不是#REF!
),运行代码(它应用验证),然后清除下拉列表。错误到底是怎么说的?代码对我来说很好,请检查tipoThanks所有命名范围的名称,以获得simoco的帮助。它表示运行时错误“1004”;应用程序定义或对象定义错误。已命名区域的范围检查已命名区域的范围:。他们是否有工作簿或工作表范围?所有工作簿范围?您能否以某种方式共享您的工作簿(例如使用),因为我看不到您的代码有问题