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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическая сортировка данных в сводной таблице - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая сортировка данных в сводной таблице (Макросы/Sub)
Автоматическая сортировка данных в сводной таблице
piffagor Дата: Воскресенье, 12.07.2015, 22:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Всем доброго вечера!
помогите мне с автоматической сортировкой пожалуйста
на листе общий брак в сводных таблицах нужно автоматически сортировать итоговые столбцы по убыванию, чтобы рисовались красивые графики.
К сообщению приложен файл: 9938914.xlsm (68.7 Kb)
 
Ответить
СообщениеВсем доброго вечера!
помогите мне с автоматической сортировкой пожалуйста
на листе общий брак в сводных таблицах нужно автоматически сортировать итоговые столбцы по убыванию, чтобы рисовались красивые графики.

Автор - piffagor
Дата добавления - 12.07.2015 в 22:59
_Boroda_ Дата: Воскресенье, 12.07.2015, 23:35 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B4:L38")) Is Nothing Then
         Application.ScreenUpdating = 0
         ActiveSheet.Sort.SortFields.Clear
         ActiveSheet.Sort.SortFields.Add Key:=Range("L4:L38"), Order:=xlDescending
         With ActiveSheet.Sort
             .SetRange Range("A4:L38")
             .Apply
         End With
         Application.ScreenUpdating = 1
     End If
End Sub
[/vba]
К сообщению приложен файл: 9938914_3.xlsm (71.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B4:L38")) Is Nothing Then
         Application.ScreenUpdating = 0
         ActiveSheet.Sort.SortFields.Clear
         ActiveSheet.Sort.SortFields.Add Key:=Range("L4:L38"), Order:=xlDescending
         With ActiveSheet.Sort
             .SetRange Range("A4:L38")
             .Apply
         End With
         Application.ScreenUpdating = 1
     End If
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 12.07.2015 в 23:35
piffagor Дата: Понедельник, 13.07.2015, 18:28 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо!!! практически так как надо....единственный момент при переходе во вкладку общий брак надо вручную обновить...а хотелось бы чтобы автоматом
К сообщению приложен файл: 0994157.xlsm (88.4 Kb)


Сообщение отредактировал piffagor - Понедельник, 13.07.2015, 18:29
 
Ответить
СообщениеСпасибо!!! практически так как надо....единственный момент при переходе во вкладку общий брак надо вручную обновить...а хотелось бы чтобы автоматом

Автор - piffagor
Дата добавления - 13.07.2015 в 18:28
_Boroda_ Дата: Понедельник, 13.07.2015, 20:00 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тады так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B4:L38")) Is Nothing Then
         Me.sor
     End If
End Sub

Private Sub Worksheet_Activate()
     Me.sor
End Sub

Sub sor()
     Application.ScreenUpdating = 0
      ActiveSheet.sort.SortFields.Clear
      ActiveSheet.sort.SortFields.Add Key:=Range("L4:L38"), Order:=xlDescending
      With ActiveSheet.sort
          .SetRange Range("A4:L38")
          .Apply
      End With
End Sub
[/vba]
К сообщению приложен файл: 0994157_1.xlsm (91.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТады так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("B4:L38")) Is Nothing Then
         Me.sor
     End If
End Sub

Private Sub Worksheet_Activate()
     Me.sor
End Sub

Sub sor()
     Application.ScreenUpdating = 0
      ActiveSheet.sort.SortFields.Clear
      ActiveSheet.sort.SortFields.Add Key:=Range("L4:L38"), Order:=xlDescending
      With ActiveSheet.sort
          .SetRange Range("A4:L38")
          .Apply
      End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 13.07.2015 в 20:00
piffagor Дата: Понедельник, 13.07.2015, 20:17 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, Все круто!!!Спасибо!
[moder]Только рапортовать об этом больше не нужно. Эта кнопка сделана для привлечения внимания администрации к каким-либо нарушениям на форуме.


Сообщение отредактировал _Boroda_ - Понедельник, 13.07.2015, 20:23
 
Ответить
Сообщение_Boroda_, Все круто!!!Спасибо!
[moder]Только рапортовать об этом больше не нужно. Эта кнопка сделана для привлечения внимания администрации к каким-либо нарушениям на форуме.

Автор - piffagor
Дата добавления - 13.07.2015 в 20:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическая сортировка данных в сводной таблице (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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