Всем доброго дня! При копировании использую переменную (lrdk), в которой заложено количество непустых строк в столбце, однако даже если столбец пустой, то значение переменной равно единице. Пример во вложении.
Код
With Лист1
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
lrdk = Sheets("ДопКорзины").Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To .UsedRange.Columns.Count
If .Cells(1, j).Value Like "Номер" Then
If lrdk > 0 Then
.Range(.Cells(1, j), .Cells(lr, j)).Copy Sheets("ДопКорзины").Cells(lrdk + 1, 1)
Else
.Range(.Cells(1, j), .Cells(lr, j)).Copy Sheets("ДопКорзины").Range("A1")
End If
End If
Next
End With
IvanMantrov, а что Вы собственно пытаетесь перенести с листа на лист? В цикле у вас наращивается номер столбца, так и задумано? Если смущает счетчик строк, то вот костыль:
IvanMantrov написал: заложено количество непустых строк
Не количество, а последняя заполненая в столбце. Вы ищите последнею строку Rows.Count и хотите чтобы она равнялась 0. Вы попробуйте закрасить на листе эту нулевую строку которую должен найти макрос, сможете? Если хотите получить 0 проверьте найденную ячейку на заполнение, если заполнена, то результат не меняется, если не заполнена =результат -1