пытаясь выполнить оператор if в пределах для l oop, но продолжаю получать ERROR 9 Subscript вне диапазона - PullRequest
0 голосов
/ 17 апреля 2020

Я новичок в написании кода, так что я знаю, что это, вероятно, что-то глупое и простое, но каждый раз, когда я пытаюсь запустить программу, возникает ошибка 9 (индекс ниже допустимого). Я не уверен, что это вызвало.

enter image description here

Dim i As Integer


Sub DepotsDue()
   For i = 1 To 150

     If Worksheets("Sheet6").Cells(B, 2).Value = Worksheets("Sheet2").Cells(E, 1 + i).Value Then
     Worksheets("Depots Due").Cells(A, 5 + i).Value = Worksheets("Weekly").Cells(A, 2 + i).Value
     End If

   Next i

End Sub

1 Ответ

1 голос
/ 17 апреля 2020

Ваш Cells синтаксис неправильный. Вот 3 эквивалентных способа ссылки на вторую ячейку в вашем коде (Sheet2 E[i + 1])


Cells(row index, column index) = Cells(1 + i, 5)
Cells(row index, column letter) = Cells(1 + i, "E")

Вы также можете использовать Range, например,

Range("E" & 1 + i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...