Свойство Offset объекта Range возвращается пустым после первого шага цикла for? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь просмотреть таблицу на одном из моих листов, используя цикл for, а затем сравниваю значение в каждой из этих ячеек со строкой eventVendor.

Структура данных (на рассматриваемом листе):

Ключ |Продавец |Номер детали |LastIns

(имеется 364 строки, включая вышеуказанные заголовки)

Код:

Application.Goto (Sheets("SKIPLOT").Range("A1"))
totalRows = Cells(Rows.Count, 1).End(xlUp).Row
lastEntry = Cells(2, 2)
MsgBox lastEntry.Value
For i = 0 To totalRows
    If lastEntry.Offset(i, 0).Value = eventVendor Then
    MsgBox "1st if passed"
        If lastEntry.Offset(i, 1).Value = eventPN Then
            MsgBox lastEntry.Offset(i, 1).Value
            MsgBox eventPN
            lastEntry.Offset(i, 2).Value = "NCR"
            Exit For
        End If
    End If


Next

Сообщение msgbox, печатающее значение lastEntry, дает правильное значение, а когда i =0, первый оператор If должен иметь значение false, и во время отладки это, кажется, работает отлично.Однако, когда i увеличивается до 1 (и больше 1), lastEntry.Offset (i, 0) .Value отображается как пустое, даже если данные являются смежными.Все остальные переменные содержат ожидаемые значения.Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...