Страницы: 1
RSS
Сортировать последний столбец динамичной таблицы
 
Народ, помогите, плиз.
Данная тема вполне себе работает
Код
Sub asf()
ActiveSheet.Range("h8:h37").Sort Key1:=Range("h8:h37").Cells(1), _
Order1:=xlDescending, Type:=xlSortValues, OrderCustom:=1, Orientation:=xlTopToBottom
End Sub
Однако когда пытаюсь написать вот в таком виде, выдает ошибку
Код
Sub test()
'Dim qwe1 As Range, qwe2 As Range, qwe3 As Range
Set qwe1 = ActiveSheet.Range("b7:k7").Find("Total", lookat:=xlPart)
Set qwe2 = qwe1.Offset(1, 0)
Set qwe3 = Range(Cells(qwe2.Row, qwe2.Column), Cells(qwe2.Row + 29, qwe2.Column))
ActiveSheet.Range("qwe3").Sort Key1:=Range("qwe3").Cells(1), _
Order1:=xlDescending, Type:=xlSortValues, OrderCustom:=1, Orientation:=xlTopToBottom
End Sub
Блин, что не так делаю?

UPD извиняюсь, что файл не прикладываю, он рабочий. А вопроизвести его муторно: таблица, которую я сортирую, сводная, и я пытаюсь сделать сортировку по столбцу итого (там нельзя сделать autosort, потому что в поле values очень много величин... в общем, есть причины)).
Изменено: Евгений - 11.09.2016 01:25:56
 
Цитата
Евгений написал: выдает ошибку
Хотя-бы напишите на какой строке, раз уж
Цитата
Евгений написал: файл не прикладываю
На вскидку.
Зачем у Вас там столько промежуточных диапазонов? Которые Вы к тому-же неправильно применяете. Не надо вставлять этот диапазон в еще один Range, зто не ИМЯ диапазона.
Может так будет достаточно. Проверить не на чем
Код
Sub test()
Dim rngTotal As Range
With ActiveSheet.Range("b7:k7").Find("Total", lookat:=xlPart)
    rwTotal = .Offset(1, 0).Row
    clTotal = .Column
End With
With ActiveSheet
    Set rngTotal = .Range(.Cells(rwTotal, clTotal), .Cells(rwTotal + 29, clTotal))
End With
    rngTotal.Sort Key1:=rngTotal.Cells(1), Order1:=xlDescending, _
        Type:=xlSortValues, OrderCustom:=1, Orientation:=xlTopToBottom
End Sub
Изменено: Sanja - 11.09.2016 12:15:23
Согласие есть продукт при полном непротивлении сторон
 
Sanja, спасибо большое за код.
Приложил пример, очень похожий на рабочий файл. Код работает отлично, но если я пытаюсь его привязать к worksheet_change, эксель ломается... либо ошибку выдает.
Я опять что-то не так делаю, или это эксель у меня глючит? (подозреваю, что первое))test_qwerty.xlsm (36.02 КБ)
 
По полю Итоги нельзя сделать сортировку. Ни авто, ни с помощью VBA
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Наверх