我的Excel工作表中有三列-参考,值和日期。该代码将遍历所有给定的值,并且可以正常运行,但最后在pReference = data_table2(i + 1, 1)
处出现运行时错误。
Set Sheet_data = ThisWorkbook.Worksheets("Setup")
last_Row = Sheet_data.Range("A1").CurrentRegion.Rows.Count
Set data_table = Sheet_data.Range("A2:C" & last_Row)
data_table2 = data_table.Value2
' New Code for Excel Export
For i = 1 To (last_Row - 1)
If isDeveloper() = True Then
pReference = data_table2(i + 1, 1)
pValue = data_table2(i + 1, 2)
pdate = data_table2(i + 1, 3)
End If
答案 0 :(得分:0)
看看last_Row的值。
如果您有一个值区域,例如A1:C22,last_row将为23,但是您分配给data_table Range(“ A2:C”&last_row)的原因是从第二行开始。
最后总是下标超出范围错误,最后一次发信号的coz分配i = 23,并且数组len为22,所以您超出范围
将for循环更改为每个循环,或通过这种方式进行
For i = 1 to UBound(data_table2)
If isDeveloper() = True Then
pReference = data_table2(i, 1)
pValue = data_table2(i, 2)
pdate = data_table2(i, 3)
End If