Здравствуйте! Помогите с макросом по копированию данных из диапазона (6 строк, 30 столбцов) копировать по 6 строк, каждого столбца, если там есть данные (включая пустые ячейки) т.е если хоть в одной строке есть данные, то скопировать все 6 и не копировать, если там (в этих 6 строках) нет данных. Копировать на соседний лист в первый столбец после данных, которые там могут быть.
Здравствуйте! Помогите с макросом по копированию данных из диапазона (6 строк, 30 столбцов) копировать по 6 строк, каждого столбца, если там есть данные (включая пустые ячейки) т.е если хоть в одной строке есть данные, то скопировать все 6 и не копировать, если там (в этих 6 строках) нет данных. Копировать на соседний лист в первый столбец после данных, которые там могут быть.CHEVRYACHOK
Sub tt() ar0_ = Sheets("pre").Range("D19:P24").Value n_ = UBound(ar0_) * UBound(ar0_, 2) ReDim ar1_(1 To n_, 1 To 1) For i = UBound(ar0_, 2) To 1 Step -1 For j = UBound(ar0_) To 1 Step -1 ar1_(UBound(ar0_) * (i - 1) + j, 1) = ar0_(j, i) Next j Next i With Sheets("TXT") r0_ = .Cells(.Rows.Count, 1).End(3).Row .Cells(r0_ + 1, 1).Resize(n_) = ar1_ End With End Sub
[/vba]
Так нужно? [vba]
Код
Sub tt() ar0_ = Sheets("pre").Range("D19:P24").Value n_ = UBound(ar0_) * UBound(ar0_, 2) ReDim ar1_(1 To n_, 1 To 1) For i = UBound(ar0_, 2) To 1 Step -1 For j = UBound(ar0_) To 1 Step -1 ar1_(UBound(ar0_) * (i - 1) + j, 1) = ar0_(j, i) Next j Next i With Sheets("TXT") r0_ = .Cells(.Rows.Count, 1).End(3).Row .Cells(r0_ + 1, 1).Resize(n_) = ar1_ End With End Sub
_Boroda_, все работает, пока между столбцами с данными не появляется пустой столбец, тогда он тоже копируется, как 6 пустых строк, а не должен. Это можно как-то исправить? Если у вас будет время.
_Boroda_, все работает, пока между столбцами с данными не появляется пустой столбец, тогда он тоже копируется, как 6 пустых строк, а не должен. Это можно как-то исправить? Если у вас будет время.CHEVRYACHOK