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

Вход

Регистрация

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

 

= Мир MS Excel/Создание кнопок/ссылок - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Создание кнопок/ссылок
Edinstvo Дата: Вторник, 10.02.2015, 15:11 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Как сделать кнопки или ссылки для сортировки данных?
А именно:

- в аттаче файл - сезонность.xlsx
- справа, где формулы ранга, данные, с помощью которых сортируются основные цифры
- формулы ранга хочу скрыть
- при этом сделать нечто вроде ссылок, например "сортировка Январь", при нажатии на которую основные цифры слева автоматически отсортируются, основываясь на формулах ранга

Цель: Создать ссылку или кнопку, при нажатии на которую будут сортироваться основные данные на основе скрытых дополнительных данных
К сообщению приложен файл: 7722153.xlsx (22.7 Kb)


Сообщение отредактировал Edinstvo - Вторник, 10.02.2015, 15:13
 
Ответить
СообщениеКак сделать кнопки или ссылки для сортировки данных?
А именно:

- в аттаче файл - сезонность.xlsx
- справа, где формулы ранга, данные, с помощью которых сортируются основные цифры
- формулы ранга хочу скрыть
- при этом сделать нечто вроде ссылок, например "сортировка Январь", при нажатии на которую основные цифры слева автоматически отсортируются, основываясь на формулах ранга

Цель: Создать ссылку или кнопку, при нажатии на которую будут сортироваться основные данные на основе скрытых дополнительных данных

Автор - Edinstvo
Дата добавления - 10.02.2015 в 15:11
SLAVICK Дата: Вторник, 10.02.2015, 15:40 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Так пойдет?
Простенький макрос на быструю руку. Сортировку правее на 13 столбцов от выделенной ячейки :D
[vba]
Код
Sub SORT()
Dim R As Range
Set R = Selection.Offset(, 13)
Set R = Range(Cells(1, R.Column), Cells(100, R.Column))
      ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT.SortFields.Clear
      ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT.SortFields.Add Key:=R _
      , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT
          .Header = xlYes
          .MatchCase = False
          .Orientation = xlTopToBottom
          .SortMethod = xlPinYin
          .Apply
      End With
End Sub
[/vba]
К сообщению приложен файл: 7722153.xls (82.0 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 10.02.2015, 15:42
 
Ответить
СообщениеТак пойдет?
Простенький макрос на быструю руку. Сортировку правее на 13 столбцов от выделенной ячейки :D
[vba]
Код
Sub SORT()
Dim R As Range
Set R = Selection.Offset(, 13)
Set R = Range(Cells(1, R.Column), Cells(100, R.Column))
      ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT.SortFields.Clear
      ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT.SortFields.Add Key:=R _
      , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
      With ActiveWorkbook.Worksheets("Москва").AutoFilter.SORT
          .Header = xlYes
          .MatchCase = False
          .Orientation = xlTopToBottom
          .SortMethod = xlPinYin
          .Apply
      End With
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 10.02.2015 в 15:40
_Boroda_ Дата: Вторник, 10.02.2015, 15:49 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16912
Репутация: 6616 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Формулу РАНГ переписываем так, что 12 столбцов не нужно. Хватит одного столбца и выпадающего списка.
Дальше макрос
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) = "AA1" Then
          Application.ScreenUpdating = 0
          ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort.SortFields.Clear
          ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort.SortFields.Add Key:=Range _
              ("AA1:AA27")
          With ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort
              .Orientation = xlTopToBottom
              .Apply
          End With
          Application.ScreenUpdating = 1
      End If
End Sub
[/vba]
При изменении в вып. списке данные сортируются по возрастанию рангов, а внутри одинаковых рангов по убыванию.

Автофильтр в столбце АА есть, но сделан невидимым.
К сообщению приложен файл: 7722153_5.xlsm (26.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФормулу РАНГ переписываем так, что 12 столбцов не нужно. Хватит одного столбца и выпадающего списка.
Дальше макрос
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address(0, 0) = "AA1" Then
          Application.ScreenUpdating = 0
          ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort.SortFields.Clear
          ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort.SortFields.Add Key:=Range _
              ("AA1:AA27")
          With ActiveWorkbook.Worksheets("Москва").AutoFilter.Sort
              .Orientation = xlTopToBottom
              .Apply
          End With
          Application.ScreenUpdating = 1
      End If
End Sub
[/vba]
При изменении в вып. списке данные сортируются по возрастанию рангов, а внутри одинаковых рангов по убыванию.

Автофильтр в столбце АА есть, но сделан невидимым.

Автор - _Boroda_
Дата добавления - 10.02.2015 в 15:49
Edinstvo Дата: Вторник, 10.02.2015, 17:23 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
:o
Я с макросами не работал еще...
[moder]Чтобы Правила не нарушать, я все то, что ниже было, постирал.
 
Ответить
Сообщение:o
Я с макросами не работал еще...
[moder]Чтобы Правила не нарушать, я все то, что ниже было, постирал.

Автор - Edinstvo
Дата добавления - 10.02.2015 в 17:23
Edinstvo Дата: Среда, 11.02.2015, 10:34 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Модератор:
Чтобы Правила не нарушать, я все то, что ниже было, постирал.

спасибо
 
Ответить
Сообщение
Модератор:
Чтобы Правила не нарушать, я все то, что ниже было, постирал.

спасибо

Автор - Edinstvo
Дата добавления - 11.02.2015 в 10:34
  • Страница 1 из 1
  • 1
Поиск:

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