Полностью тема должна называться так: "Копирование всех значений из заполненной области базового диапазона во вторую непустую строку целевого диапазона"
Снова здравствуйте уважаемые форумчане. Столкнулся с такой проблемой (в качестве примера файл из вложения, в котором есть 2 листа "Откуда" и "Куда"). На листе "Откуда" есть базовый диапазон C2:H50, в котором столбцы могут быть заполнены по разному (для примера рядом разместил варианты). Конечная цель - это скопировать область из базового диапазона, начиная с ячейки C2 (это константа, она не меняется) до первой не пустой строки (в файле-примере это область C2:H5 - выделил жирной обводкой). И затем скопированные значения вставить во вторую не пустую строку диапазона B2:F1048576 на листе "Куда" (также выделил жирной обводкой и подкрасил.
К сожалению своими силами вообще ничего не сделал - пересмотрел форумы в поисках кода для выделения первой непустой строки диапазона, но из всего множества вариантов мне ни один не подошёл. Поэтому своих интеллектуальных "потуг" в виде каких-либо кодов представить на суд публики на сей раз не могу.
Заранее спасибо всем, кто откликнется.
Полностью тема должна называться так: "Копирование всех значений из заполненной области базового диапазона во вторую непустую строку целевого диапазона"
Снова здравствуйте уважаемые форумчане. Столкнулся с такой проблемой (в качестве примера файл из вложения, в котором есть 2 листа "Откуда" и "Куда"). На листе "Откуда" есть базовый диапазон C2:H50, в котором столбцы могут быть заполнены по разному (для примера рядом разместил варианты). Конечная цель - это скопировать область из базового диапазона, начиная с ячейки C2 (это константа, она не меняется) до первой не пустой строки (в файле-примере это область C2:H5 - выделил жирной обводкой). И затем скопированные значения вставить во вторую не пустую строку диапазона B2:F1048576 на листе "Куда" (также выделил жирной обводкой и подкрасил.
К сожалению своими силами вообще ничего не сделал - пересмотрел форумы в поисках кода для выделения первой непустой строки диапазона, но из всего множества вариантов мне ни один не подошёл. Поэтому своих интеллектуальных "потуг" в виде каких-либо кодов представить на суд публики на сей раз не могу.
Sub tt() cn_ = 6 With ThisWorkbook.Sheets("Откуда") rn_ = .Range("C1").CurrentRegion.Rows.Count - 1 If rn_ Then ar = .Range("C2").Resize(rn_, cn_) End If End With With ThisWorkbook.Sheets("Куда") For i = 1 To cn_ r01_ = .Cells(.Rows.Count, 1 + i).End(3).Row If r01_ > r1_ Then r1_ = r01_ End If Next i If r1_ = 1 Then r1_ = 0 .Cells(r1_ + 2, 2).Resize(rn_, cn_) = ar End With End Sub
[/vba] Почему в Откуде на 1 столбец больше, чем Куде?
Файл перевложил
Так нужно? [vba]
Код
Sub tt() cn_ = 6 With ThisWorkbook.Sheets("Откуда") rn_ = .Range("C1").CurrentRegion.Rows.Count - 1 If rn_ Then ar = .Range("C2").Resize(rn_, cn_) End If End With With ThisWorkbook.Sheets("Куда") For i = 1 To cn_ r01_ = .Cells(.Rows.Count, 1 + i).End(3).Row If r01_ > r1_ Then r1_ = r01_ End If Next i If r1_ = 1 Then r1_ = 0 .Cells(r1_ + 2, 2).Resize(rn_, cn_) = ar End With End Sub
[/vba] Почему в Откуде на 1 столбец больше, чем Куде?
_Boroda_, Очень большое спасибо!!! Всё как всегда элементарно, а моя ошибка при пробах оказывается была в этом: .Range("C1").CurrentRegion.Rows.Count- 1 - я "-1" не указывал...
По поводу кол-ва столбцов - это моя ошибка - в обоих листах их должно быть по 6.
_Boroda_, Очень большое спасибо!!! Всё как всегда элементарно, а моя ошибка при пробах оказывается была в этом: .Range("C1").CurrentRegion.Rows.Count- 1 - я "-1" не указывал...
По поводу кол-ва столбцов - это моя ошибка - в обоих листах их должно быть по 6.master-dd