For cursRows = 2 To 888 Step 1 Set rowRange = WS.Range("A" & cursRows & ":N" & cursRows) inFrom = rowRange(cursRows, 3) Next cursRows
[/vba] при обходе пропускает строку, cursRows идёт нормально 2,3,4... А range получает так: row2 | -пропущено row3 | получает при cursRows == 2 row4 | -пропущено row5 | получает при cursRows == 3
подозреваю, что какая-то мелкая мелочь, никак не пойму. О том, что "...на основе объекта Range виртуальный лист со своей собственной нумерацией" – читал, но это, вроде бы при заполнении ячеек играет роль?
Подскажите, пожалуйста.
Спасибо!
Здравствуйте, такой код [vba]
Код
For cursRows = 2 To 888 Step 1 Set rowRange = WS.Range("A" & cursRows & ":N" & cursRows) inFrom = rowRange(cursRows, 3) Next cursRows
[/vba] при обходе пропускает строку, cursRows идёт нормально 2,3,4... А range получает так: row2 | -пропущено row3 | получает при cursRows == 2 row4 | -пропущено row5 | получает при cursRows == 3
подозреваю, что какая-то мелкая мелочь, никак не пойму. О том, что "...на основе объекта Range виртуальный лист со своей собственной нумерацией" – читал, но это, вроде бы при заполнении ячеек играет роль?
[/vba] И всё это потому, что следующий оператор не совсем корректен - именно потому, что у Range, как вы сказали, "свой виртуальный лист", в который вы пытаетесь (еще раз) вставить внешний счётчик строк: [vba]
Код
inFrom = rowRange(cursRows, 3)
[/vba] Замените cursRows на 1 и будет вам счастье: [vba]
Код
inFrom = rowRange(1, 3)
[/vba] Думаю, в подробностях теперь разберетесь самостоятельно.
[/vba] И всё это потому, что следующий оператор не совсем корректен - именно потому, что у Range, как вы сказали, "свой виртуальный лист", в который вы пытаетесь (еще раз) вставить внешний счётчик строк: [vba]
Код
inFrom = rowRange(cursRows, 3)
[/vba] Замените cursRows на 1 и будет вам счастье: [vba]
Код
inFrom = rowRange(1, 3)
[/vba] Думаю, в подробностях теперь разберетесь самостоятельно.Gustav
Gustav, точно, спасибо! Это я от недопонимания что есть "виртуальный лист". А получается, это как если бы мы со страницы книги выписали на листочек строки с 10-й по 15. На странице последняя так и осталась бы 15-той строкой, а в нашей выписке это была бы пятая строка. А так как у меня range однострочный, то текущая всегда первая, равна 1.
Спасибо!
Gustav, точно, спасибо! Это я от недопонимания что есть "виртуальный лист". А получается, это как если бы мы со страницы книги выписали на листочек строки с 10-й по 15. На странице последняя так и осталась бы 15-той строкой, а в нашей выписке это была бы пятая строка. А так как у меня range однострочный, то текущая всегда первая, равна 1.