Страницы: 1
RSS
PQ. Обратить таблицу. поставить на голову
 
Добрый день, в Power Query есть кнока "обратить таблицу", тоесть перевенуть таблицу верх ногами ( не транспонировать). Как это сделать макросом на VBA. Подскажите, я такой кнопки в стандартном excel не нашел (хотел подсмотреть в макрекодере)
 
Код
Sub Обращение()
    Dim r As Range
    Set r = Range("A3:D5")
    Dim a As Variant
    If r.Cells.Count = 1 Then
        ReDim a(1 To 1, 1 To 1)
        a(1, 1) = r.Value
    Else
        a = r
    End If
    Dim b As Variant
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
    Dim y As Long
    Dim x As Integer
    For y = 1 To UBound(a, 1)
    For x = 1 To UBound(a, 2)
        b(UBound(a, 1) - y + 1, x) = a(y, x)
    Next
    Next
    r = b
End Sub
 
Цитата
Обратить таблицу. поставить на голову
Если тяжелая, рискуете шею свернуть )
 
Так-то можно и без вба. добавить столбец с порядковым номером (индексом) и отсортировать в обратном порядке :)
 
Доброе время суток.
Цитата
DrillPipe написал:
добавить столбец с порядковым номером (индексом) и отсортировать в обратном порядке
Коллега, не уловил, а чем это лучше чем Table.ReverseRows? Я так понимаю, что ТС об этой функции намекал, но постеснялся написать :)
 
Коллега, почему-то ТС захотел в ВБА - только название темы неудачное:). К стати можно это действие в макрорекордере и записать.
 
МатросНаЗебре, спасибо, но я немного запутался, как в этом коде проигнорировать шапку? Вам пример работает хорошо и быстро, можно ли обратить без учета шапки?

Андрей VG, а можно кстати этот запрос из PQ отобразить в VBA? У меня просто там много действий с книгами на VBA и делать отдельно запрос через PQ, не удобно.

DrillPipe, спасибо, но не хочется так поступать) выглядит не эстетично.
 
Цитата
Argo9 написал:
как в этом коде проигнорировать шапку?
Не указывать шапку в диапазоне.
Указать только область данных:
Код
Set r = Range("A3:D5")
 
МатросНаЗебре, спасибо, чет я сам не додумался, вроде нужный мне диапазон изменил, а это, не додумал.
Страницы: 1
Наверх