Страницы: 1
RSS
Транспонировать построчно несколько столбцов
 
Всем привет.
Есть разные данные (текст, текст+цифры, цифры) в 16 строках в столбцах A,B,C и D, нужно выделить данные в этих столбцах построчно (причем заранее не известно будут заполнены только столбцы A и В (Пример1 в файле) или A,B,C (Пример 2) или A,B,C и D (Пример3), но всегда одинаково, т.е. обычно я выделяю данные в строке клавишами Ctrl+Shift+->) сначала в строке №1, транспонировать к примеру в столбец F, далее перейти на строку 2 и так до 16. Пока тупо записал свои действия через запись макросов, но в таком варианте исполнение происходит ОЧЕНЬ долго. Помогите формулой или макросом.
 
hima_xej,
Код
Sub mrshkei()
Dim r As Long, c As Long, lr As Long, lc As Long, arr
lr = Cells(Rows.Count, 1).End(xlUp).Row: lc = Cells(1, Columns.Count).End(xlToLeft).Column
ReDim arr(1 To lr * lc, 1 To 1): j = 1
For r = 1 To lr
    For c = 1 To lc
        arr(j, 1) = Cells(r, c): j = j + 1
    Next c
Next r
Range("F1").Resize(UBound(arr), 1) = arr
End Sub

Не бойтесь совершенства. Вам его не достичь.
 
Здравствуйте. Попробуйте таким макросом (активировать лист, запустить макрос):
Скрытый текст
Кому решение нужно - тот пример и рисует.
 
Mershik, Пытливый, СПАСИБО огромное! Все работает!
 
Формулами (поменяйте  цифры 2 на 3,4 взависимости от количества столбцов)
Код
=INDEX($A$1:$B$100;CEILING(ROWS($1:1)/2;1);MOD(ROWS($1:1)-1;2)+1)
Изменено: jakim - 17.12.2020 17:05:40
Страницы: 1
Наверх