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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка таблицы по двойному клику в ячейке (Макросы/Sub)
Сортировка таблицы по двойному клику в ячейке
kirill-kibor Дата: Воскресенье, 17.04.2016, 21:50 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
[offtop]Начало - в соседней ветке. Вот тут: http://www.excelworld.ru/forum/10-23260-1
[/offtop]

Здравствуйте! Помогите пожалуйста сделать следующее, если можно, то с комментариями (планирую поразбираться):
По двойному щелчку в ячейке с Фамилией из столбца "ВОД" или "ЗАК" должна происходить сортировка колонок. Т.е. что бы соответствующие строки оказывались наверху, соответствующие ячейки выделялись цветом, упорядочивались по дате.

P.S.
Как и прежде, заранее благодарен.
К сообщению приложен файл: 7289405.xls(25Kb)


Сообщение отредактировал kirill-kibor - Воскресенье, 17.04.2016, 21:53
 
Ответить
Сообщение[offtop]Начало - в соседней ветке. Вот тут: http://www.excelworld.ru/forum/10-23260-1
[/offtop]

Здравствуйте! Помогите пожалуйста сделать следующее, если можно, то с комментариями (планирую поразбираться):
По двойному щелчку в ячейке с Фамилией из столбца "ВОД" или "ЗАК" должна происходить сортировка колонок. Т.е. что бы соответствующие строки оказывались наверху, соответствующие ячейки выделялись цветом, упорядочивались по дате.

P.S.
Как и прежде, заранее благодарен.

Автор - kirill-kibor
Дата добавления - 17.04.2016 в 21:50
StoTisteg Дата: Воскресенье, 17.04.2016, 22:00 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Держите.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If (Target.Column = 5 Or Target.Column = 6) And Target.Value <> "" Then 'Проверяем, попали ли в фамилию
        Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 11)).AutoFilter Field:=Target.Column, Criteria1:=Target.Value 'Если попали, отфильтровываем её
        Cancel = True 'И не даём "провалиться" в ячейку
    End If

End Sub
[/vba]
К сообщению приложен файл: Sort.xlsm(18Kb)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.

Сообщение отредактировал StoTisteg - Воскресенье, 17.04.2016, 23:11
 
Ответить
СообщениеДержите.
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If (Target.Column = 5 Or Target.Column = 6) And Target.Value <> "" Then 'Проверяем, попали ли в фамилию
        Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 11)).AutoFilter Field:=Target.Column, Criteria1:=Target.Value 'Если попали, отфильтровываем её
        Cancel = True 'И не даём "провалиться" в ячейку
    End If

End Sub
[/vba]

Автор - StoTisteg
Дата добавления - 17.04.2016 в 22:00
kirill-kibor Дата: Понедельник, 18.04.2016, 03:05 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо.
 
Ответить
СообщениеСпасибо.

Автор - kirill-kibor
Дата добавления - 18.04.2016 в 03:05
al-Ex Дата: Понедельник, 18.04.2016, 08:27 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
Держите
Ну да, теперь увидел о чём речь шла, конечно так "красивше будет".


Сообщение отредактировал al-Ex - Понедельник, 18.04.2016, 08:36
 
Ответить
Сообщение
Держите
Ну да, теперь увидел о чём речь шла, конечно так "красивше будет".

Автор - al-Ex
Дата добавления - 18.04.2016 в 08:27
kirill-kibor Дата: Понедельник, 18.04.2016, 13:26 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Черт подери, вот же круто-то.. А можно еще кнопочку сброса попросить? :) :)
 
Ответить
СообщениеЧерт подери, вот же круто-то.. А можно еще кнопочку сброса попросить? :) :)

Автор - kirill-kibor
Дата добавления - 18.04.2016 в 13:26
SLAVICK Дата: Понедельник, 18.04.2016, 13:42 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 1841
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
А можно еще кнопочку сброса попросить?

А чем штатное средство сброса фильтров не устраивает?:
Данные--сортировка и фильтр -- очистить?
Если макросом все же нужно:
[vba]
Код
ActiveSheet.ShowAllData
[/vba]
И в Ваш код можно "вшить" - будет работать по двойному клику не на 5-6м столбцу:
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If (Target.Column = 5 Or Target.Column = 6) And Target.Value <> "" Then
        Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 11)).AutoFilter Field:=Target.Column, Criteria1:=Target.Value
        Cancel = True
    Else
        ActiveSheet.ShowAllData
        Cancel = True
    End If
End Sub
[/vba]
К сообщению приложен файл: 7559182.xlsm(17Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
А можно еще кнопочку сброса попросить?

А чем штатное средство сброса фильтров не устраивает?:
Данные--сортировка и фильтр -- очистить?
Если макросом все же нужно:
[vba]
Код
ActiveSheet.ShowAllData
[/vba]
И в Ваш код можно "вшить" - будет работать по двойному клику не на 5-6м столбцу:
[vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If (Target.Column = 5 Or Target.Column = 6) And Target.Value <> "" Then
        Range(Cells(1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 11)).AutoFilter Field:=Target.Column, Criteria1:=Target.Value
        Cancel = True
    Else
        ActiveSheet.ShowAllData
        Cancel = True
    End If
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 18.04.2016 в 13:42
kirill-kibor Дата: Понедельник, 18.04.2016, 14:46 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, сделал, работает.
 
Ответить
СообщениеСпасибо, сделал, работает.

Автор - kirill-kibor
Дата добавления - 18.04.2016 в 14:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка таблицы по двойному клику в ячейке (Макросы/Sub)
Страница 1 из 11
Поиск:

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