我不确定发生了什么,尽管它只是一个简单的代码。
基本上,我只是基于单元格值是否为True创建一个数组列表。但是将数组设置为单元格值时出现错误。我错过了什么吗?
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也不起作用。.帮助。
答案 0 :(得分:3)
您尚未声明数组的大小。没有声明尺寸,没有地方放任何东西。
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