Добрый день.
Прошу помочь разобраться с обработкой массива.
Макрос делал на основе других, и не всё до конца понимаю, что происходит.
В строке lr = sh.Cells(Rows.Count, 9).End(xlUp).Row предполагал,что в lr присваивается номер последней заполненной строки в столбце 9 т.е. столбец I (номер 36). Но присваивается вообще последний номер 38.
В строке If arr(i, 8 ) > 0 Then мне бы надо определять присутствие положительного числа. В данной ситуации срабатывает на всё что угодно, даже на "".
Примерно такая же проблема в строке
arr2(j, 4) = arr(i, 5) + 1000 'заказ.
Надо убедиться что там число, что то типа if as arr(i, 5) Long then или if ЕЧИСЛО(arr(i, 5)) then
Прошу помочь разобраться с обработкой массива.
Макрос делал на основе других, и не всё до конца понимаю, что происходит.
В строке lr = sh.Cells(Rows.Count, 9).End(xlUp).Row предполагал,что в lr присваивается номер последней заполненной строки в столбце 9 т.е. столбец I (номер 36). Но присваивается вообще последний номер 38.
В строке If arr(i, 8 ) > 0 Then мне бы надо определять присутствие положительного числа. В данной ситуации срабатывает на всё что угодно, даже на "".
Примерно такая же проблема в строке
arr2(j, 4) = arr(i, 5) + 1000 'заказ.
Надо убедиться что там число, что то типа if as arr(i, 5) Long then или if ЕЧИСЛО(arr(i, 5)) then