Страницы: 1
RSS
Транспонирование диапазона в один столбец
 
Приветствую вас, уважаемые гуру!
Есть задача транспонировать диапазон в один столбец.
Пример в файлике. Помогите, подскажите пожалуйста. Самостоятельно ответа и приемлемой логики решения не нашёл.
Заранее БОЛЬШОЕ спасибо)
 
kroke, дд. вариант.
Код
Sub dd()
Dim r1 As Long, r2 As Long, c1 As Long, c2 As Long, i As Long
Dim rng As Range
Application.ScreenUpdating = False
k = 8 ' в какой столбец вставлять
Columns(k).Clear
Set rng = Application.InputBox("Выберите диапазон для транспортирования", Type:=8)
r1 = rng.Cells(1).Row
rn = rng.Cells(rng.Cells.Count).Row
c1 = rng.Cells(1).Column
cn = rng.Cells(rng.Cells.Count).Column
i = 1
For r3 = r1 To rn
    For c3 = c1 To cn
        If Cells(r3, c3) <> "" Then
        Cells(r3, c3).Copy Destination:=Cells(i, k)
        i = i + 1
        End If
    Next c3
Next r3
Application.ScreenUpdating = True
End Sub

Изменено: Mershik - 15.08.2020 09:20:15
Не бойтесь совершенства. Вам его не достичь.
 
Доброе время суток.
Версия на Power Query.
 
Код
=ИНДЕКС(TData;ЦЕЛОЕ(НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО(TData);"";СТРОКА(TData)+СТОЛБЕЦ(TData)%);СТРОКА(A1)));ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ЕПУСТО(TData);"";СТРОКА(TData)+СТОЛБЕЦ(TData)%);СТРОКА(A1));1)*100)
Соблюдение правил форума не освобождает от модераторского произвола
 
Добрый день. А еще так попробуйте:
Скрытый текст
Изменено: DANIKOLA - 16.08.2020 09:30:05 (Улучшен макрос)
 
Всем, прям ОГРОМНОЕ спасибо!!!
Сейчас буду разбираться с каждым из способов.
Обязательно отпишусь, который из них лучше всего подошёл.)
 
Вариант формулы из п. 4 без массивного ввода и именованног диапазона.
Код
=IFERROR(INDEX(A$1:D$97;INT(AGGREGATE(15;6;ROW($1:$97)+COLUMN($A:$D)%/(A$1:D$97<>"");ROWS($2:2)));MOD(AGGREGATE(15;6;ROW($1:$97)+COLUMN($A:$D)%/(A$1:D$97<>"");ROWS($2:2));1)*100);"")
Изменено: jakim - 16.08.2020 13:50:32
 
Цитата
jakim написал:
без массивного ввода и именованног диапазона
именованный диапазон есть в исходном файле
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
Андрей VG написал:
Доброе время суток.Версия на Power Query.
Выбрал этот способ, как наиболее гибкий конкретно в моем случае.
Спасибо всем еще раз!
Изменено: kroke - 17.08.2020 03:06:40
Страницы: 1
Наверх