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

Вход

Регистрация

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

 

= Мир MS Excel/Существует ли возможность автосортировки впринципе? - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Существует ли возможность автосортировки впринципе?
Serge_007 Дата: Понедельник, 13.05.2013, 14:39 | Сообщение № 21
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Fortress12)
друг под другом четыре такие таблицы

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count = 1 Then
     Range(Range("a2:f14"), Range("a2").End(xlDown)).Sort key1:=Range("a2"), order1:=xlDescending
     Range(Range("a20:f30"), Range("a20").End(xlDown)).Sort key1:=Range("a20"), order1:=xlDescending
     Range(Range("a40:f50"), Range("a40").End(xlDown)).Sort key1:=Range("a40"), order1:=xlDescending
     Range(Range("a60:f70"), Range("a60").End(xlDown)).Sort key1:=Range("a60"), order1:=xlDescending
End If
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Fortress12)
друг под другом четыре такие таблицы

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Columns.Count = 1 Then
     Range(Range("a2:f14"), Range("a2").End(xlDown)).Sort key1:=Range("a2"), order1:=xlDescending
     Range(Range("a20:f30"), Range("a20").End(xlDown)).Sort key1:=Range("a20"), order1:=xlDescending
     Range(Range("a40:f50"), Range("a40").End(xlDown)).Sort key1:=Range("a40"), order1:=xlDescending
     Range(Range("a60:f70"), Range("a60").End(xlDown)).Sort key1:=Range("a60"), order1:=xlDescending
End If
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 13.05.2013 в 14:39
Fortress12 Дата: Понедельник, 13.05.2013, 15:02 | Сообщение № 22
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 3 ±
Замечаний: 20% ±

И последний мой вопрос в теме - вернемся к началу. Возможно ли сделать макрос чтоб он делал автосортировку только при внесении не руками, а автоматически формулами? Если вношу данные сам то работает все замечательно, забил формулу и не работает
 
Ответить
СообщениеИ последний мой вопрос в теме - вернемся к началу. Возможно ли сделать макрос чтоб он делал автосортировку только при внесении не руками, а автоматически формулами? Если вношу данные сам то работает все замечательно, забил формулу и не работает

Автор - Fortress12
Дата добавления - 13.05.2013 в 15:02
Serge_007 Дата: Понедельник, 13.05.2013, 15:31 | Сообщение № 23
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Fortress12)
забил формулу и не работает
Будет работать если исходные данные для формулы находятся и изменяются на этом же листе


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Fortress12)
забил формулу и не работает
Будет работать если исходные данные для формулы находятся и изменяются на этом же листе

Автор - Serge_007
Дата добавления - 13.05.2013 в 15:31
Fortress12 Дата: Понедельник, 13.05.2013, 15:53 | Сообщение № 24
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 3 ±
Замечаний: 20% ±

Цитата (Serge_007)
Будет работать если исходные данные для формулы находятся и изменяются на этом же листе

на другом. Так не сделать?)
 
Ответить
Сообщение
Цитата (Serge_007)
Будет работать если исходные данные для формулы находятся и изменяются на этом же листе

на другом. Так не сделать?)

Автор - Fortress12
Дата добавления - 13.05.2013 в 15:53
Serge_007 Дата: Понедельник, 13.05.2013, 16:55 | Сообщение № 25
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (Fortress12)
на другом
Если на другом, то что бы внести изменения в данные, при которых будет меняться результат работы формулы, Вам придётся покинуть лист, на котором работает макрос автосортировки. Следовательно запускать его можно будет по событию активации этого листа:
[vba]
Код
Private Sub Worksheet_Activate()
Range(Range("a2:f14"), Range("a2").End(xlDown)).Sort key1:=Range("a2"), order1:=xlDescending
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (Fortress12)
на другом
Если на другом, то что бы внести изменения в данные, при которых будет меняться результат работы формулы, Вам придётся покинуть лист, на котором работает макрос автосортировки. Следовательно запускать его можно будет по событию активации этого листа:
[vba]
Код
Private Sub Worksheet_Activate()
Range(Range("a2:f14"), Range("a2").End(xlDown)).Sort key1:=Range("a2"), order1:=xlDescending
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 13.05.2013 в 16:55
Fortress12 Дата: Понедельник, 13.05.2013, 17:05 | Сообщение № 26
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 3 ±
Замечаний: 20% ±

Private Sub Worksheet_Change(ByVal Target As Range)

это поменять на это?

Private Sub Worksheet_Activate()
 
Ответить
СообщениеPrivate Sub Worksheet_Change(ByVal Target As Range)

это поменять на это?

Private Sub Worksheet_Activate()

Автор - Fortress12
Дата добавления - 13.05.2013 в 17:05
Fortress12 Дата: Понедельник, 13.05.2013, 17:13 | Сообщение № 27
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 3 ±
Замечаний: 20% ±

Всем спасибо!!!!! Огромное !!!! Всем кто помогал!!! Вы лучшие!!!! Работает
 
Ответить
СообщениеВсем спасибо!!!!! Огромное !!!! Всем кто помогал!!! Вы лучшие!!!! Работает

Автор - Fortress12
Дата добавления - 13.05.2013 в 17:13
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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