Excel 类型不匹配13设置数组值时出现错误13
我不确定发生了什么,我想这是一个简单的代码 基本上,我只是根据单元格值是否为真创建一个数组列表。但是我在将数组设置为单元格值时遇到了错误。我错过什么了吗Excel 类型不匹配13设置数组值时出现错误13,excel,vba,Excel,Vba,我不确定发生了什么,我想这是一个简单的代码 基本上,我只是根据单元格值是否为真创建一个数组列表。但是我在将数组设置为单元格值时遇到了错误。我错过什么了吗 Sub test() Dim chklst() As String Dim i As Long With Worksheets("Select") For i = 1 To 10 If .Cells(14 + i, 12).Value = "True" Then
Sub test()
Dim chklst() As String
Dim i As Long
With Worksheets("Select")
For i = 1 To 10
If .Cells(14 + i, 12).Value = "True" Then
chklst() = .Cells(14 + i, 13).Value 'This is where the error shows up
End If
Next i
End With
End Sub
添加手表时,它发现
.Cells(14+i,13).Value
是一个变量/字符串。将变量更改为Variant不起作用。将.Value更改为.Text也不起作用。。帮助。您尚未声明数组的大小。没有声明大小,就没有地方可以放置任何东西
Sub test()
With Worksheets("Select")
Dim chklst() As String
ReDim chklst(1 To Application.CountIf(.Range(.Cells(15, 12), .Cells(24, 12)), "True"))
Dim i As Long
For i = 1 To 10
If .Cells(14 + i, 12).Value = "True" Then
chklst(i) = .Cells(14 + i, 13).Value 'This is where the error shows up
End If
Next i
End With
End Sub
啊,这就是为什么仅仅添加chklst(i)就表示下标超出范围。我在我的另一个数组列表代码上比较它,我根本不需要声明大小,而且它工作正常,所以不确定这次为什么要声明它。但是,是的,它现在可以工作了。@Basher仔细看,因为根据语言规范,访问未初始化的数组下标会抛出错误9,并且这些错误在调试会话之间不会改变。