我又来了 当我使用数组
时出现错误从阵列中接纳我的最大尺寸是26 为什么会这样?
错误在于 第3单元 功能列表框 在这一行
Dim mylist1(26) As String
For i = 0 To 26
mylist1(i) = CStr(Worksheets("Helper").Cells(i + 6, 4).Value)
Next i
With ws.Range("E8:E8").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=Join(mylist1, ",")
End With
我从隐藏的工作表中获取值 保存后如果将大小更改为27则有错误 如果你改为27保存 并再次打开,有错误
这是文件链接
https://drive.google.com/open?id=1Uaop86I2AKpeOwORrKYUafGb67b214Bh
感谢
答案 0 :(得分:0)
由于错误很可能被抛出太长的字符串,因此您可以将验证公式转换为引用列表范围并删除mylist1
数组:
Dim nElements As Long
nElements = 26
With WS.Range("E8").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=Helper!$D$6:$D$" & 6 + nElements-1
End With