Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматическая сортировка в Excel - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическая сортировка в Excel (Формулы/Formulas)
Автоматическая сортировка в Excel
awaddwaawddw Дата: Четверг, 21.06.2018, 22:35 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 125
Репутация: 7 ±
Замечаний: 20% ±

Excel 2007
Использую данный код:
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("G:G")) Is Nothing Then
Range("G1").Sort Key1:=Range("G1"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

[/vba]

Неудобство в том, что столбец "G" у меня формируется на основании сложения и умножения других ячеек, и данный макрос автоматически произведёт сортировку только если я зайду в любую ячейку G и затем нажму энтер. А хотелось бы без этого лишнего движения, чтобы автоматически производилась сортировка. +нужна сортировка не по возрастанию а по убыванию.
К сообщению приложен файл: vopros2228.xlsm(13.9 Kb)


Сообщение отредактировал awaddwaawddw - Четверг, 21.06.2018, 22:36
 
Ответить
СообщениеИспользую данный код:
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("G:G")) Is Nothing Then
Range("G1").Sort Key1:=Range("G1"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

[/vba]

Неудобство в том, что столбец "G" у меня формируется на основании сложения и умножения других ячеек, и данный макрос автоматически произведёт сортировку только если я зайду в любую ячейку G и затем нажму энтер. А хотелось бы без этого лишнего движения, чтобы автоматически производилась сортировка. +нужна сортировка не по возрастанию а по убыванию.

Автор - awaddwaawddw
Дата добавления - 21.06.2018 в 22:35
_Boroda_ Дата: Пятница, 22.06.2018, 02:08 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12659
Репутация: 5191 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    With Me
        r1_ = .UsedRange.Rows.Count
        If Not Intersect(Target, Range("D1:F" & r1_)) Is Nothing Then
            With .Sort.SortFields
                .Clear
                .Add Key:=Range("G1:G" & r1_), Order:=xlDescending
            End With
            With .Sort
                .SetRange Range("D1:G" & r1_)
                .Apply
            End With
        End If
    End With
End Sub
[/vba]
К сообщению приложен файл: vopros2228_1.xlsm(15.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    With Me
        r1_ = .UsedRange.Rows.Count
        If Not Intersect(Target, Range("D1:F" & r1_)) Is Nothing Then
            With .Sort.SortFields
                .Clear
                .Add Key:=Range("G1:G" & r1_), Order:=xlDescending
            End With
            With .Sort
                .SetRange Range("D1:G" & r1_)
                .Apply
            End With
        End If
    End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 22.06.2018 в 02:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическая сортировка в Excel (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!