Добрый день! У меня постоянная рутинная работа в Excel - задача: копирование диапазона, вставка с транспонированием, удаление этого диапазона, следущая строчка - опять тоже самое. Я написал макрос - но он жестко привязывается к ячейке. Помогите, как сделать, чтобы он работал до конца листа.
Алгоритм. Данные начинаются с А1-А4, содержатся в строках, следущие соответственно в А5-А8 и т.д. Мне нужно что бы они стали в столбцах - А1 остается на месте, А2-А4 - перенести в столбцы.
1. Встаем на ячейке А2, 2. Выделяем диапазон А2:A4 и копируем, 3. Встаем на столбце B2, 4. Специальная вставка значение с транспонированием, 5. Удаляем строки с выделенным диапазоном А2:A4. Повтор для следущей строчки.
Прикладываю файл с данными и записанным макросом. Помогите, т.к. уходит несколько часов на эти файлы, и не могу понять как применить макрос до конца листа.
Добрый день! У меня постоянная рутинная работа в Excel - задача: копирование диапазона, вставка с транспонированием, удаление этого диапазона, следущая строчка - опять тоже самое. Я написал макрос - но он жестко привязывается к ячейке. Помогите, как сделать, чтобы он работал до конца листа.
Алгоритм. Данные начинаются с А1-А4, содержатся в строках, следущие соответственно в А5-А8 и т.д. Мне нужно что бы они стали в столбцах - А1 остается на месте, А2-А4 - перенести в столбцы.
1. Встаем на ячейке А2, 2. Выделяем диапазон А2:A4 и копируем, 3. Встаем на столбце B2, 4. Специальная вставка значение с транспонированием, 5. Удаляем строки с выделенным диапазоном А2:A4. Повтор для следущей строчки.
Прикладываю файл с данными и записанным макросом. Помогите, т.к. уходит несколько часов на эти файлы, и не могу понять как применить макрос до конца листа.cj081
1. Встаем на ячейке А2, 2. Выделяем диапазон А2:A4 и копируем, 3. Встаем на столбце B2, 4. Специальная вставка значение с транспонированием,
Как просили так и сделал. Поправил под новые задачи. [vba]
Код
Sub uuu() Dim i&, ii&, j% Dim a(), b() With Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) a = .Value ReDim b(1 To Round(UBound(a) / 4 + 0.5), 1 To 4) For ii = 1 To UBound(b) For j = 1 To 4 i = i + 1 If i > UBound(a) Then Exit For b(ii, j) = a(i, 1) Next Next .ClearContents End With Cells(1, 1).Resize(UBound(b), UBound(b, 2)) = b Beep End Sub
1. Встаем на ячейке А2, 2. Выделяем диапазон А2:A4 и копируем, 3. Встаем на столбце B2, 4. Специальная вставка значение с транспонированием,
Как просили так и сделал. Поправил под новые задачи. [vba]
Код
Sub uuu() Dim i&, ii&, j% Dim a(), b() With Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row) a = .Value ReDim b(1 To Round(UBound(a) / 4 + 0.5), 1 To 4) For ii = 1 To UBound(b) For j = 1 To 4 i = i + 1 If i > UBound(a) Then Exit For b(ii, j) = a(i, 1) Next Next .ClearContents End With Cells(1, 1).Resize(UBound(b), UBound(b, 2)) = b Beep End Sub