我的代码中的一行给了我“下标超出范围错误”

时间:2016-04-21 14:19:30

标签: vba

我在使用此代码时出现上述错误...我不确定它有什么问题。有人可以帮忙吗?

此行错误:

If Sheets(“TimeRecord”).Cells(i + 1, 1).Value >= Sheets("Resources").Range("C4").Value Then

整个代码:

Sub ProduceResourceReport()
Dim i As Integer
Dim j As Integer
j = 8
For i = 1 To 1000
    If Sheets(“TimeRecord”).Cells(i + 1, 1).Value >= Sheets("Resources").Range("C4").Value Then
        Cells(j, 1).Value = Sheets("TimeRecord").Cells(i + 1, 15)
        j = j + 1
    End If
Next i
End Sub

1 个答案:

答案 0 :(得分:2)

错误表示活动工作簿中缺少其中一个工作表。

确保模块顶部有Option Explicit。同时删除“TimeRecord”周围的引号并重新输入。他们错了。我认为VBA将“TimeRecord”视为未声明的变量,而不是将其视为工作表的名称。

  

选项明确对于良好的编码是必需的。

Sub test()
    Dim i
    i = 1
    If Sheets("TimeRecord").Cells(i + 1, 1).Value >= Sheets("Resources").Range("C4").Value Then
        Debug.Print "no error"
    End If
End Sub