Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL. Как программно выделить диапазон ячеек автофильтра? / 7 сообщений из 7, страница 1 из 1
31.07.2009, 11:11:00
    #36119742
musicitsme
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
Уважаемые коллеги, прошу Вашей помощи по маленькому вопросу.

Как программно выделить диапазон ячеек отфильтрованных автофильтром?

Заранее благодарю за помощь.
С уважением,
Алексей
...
Рейтинг: 0 / 0
31.07.2009, 11:18:19
    #36119768
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
musicitsme, автофильтр ориентирован на таблицу, поэтому достаточно
Код: plaintext
ThisWorkbook.ActiveSheet.Cells( 9 ,  1 ).CurrentRegion.Select
Причём вместо Сells(9,1) надо вогнать одну из ячеек, на которой непосредственно находится автофильтр. (аналогично по функционалу сочетанию клавиш (ctrl+*)
Полагаю, есть способ такую ячейку и не указвать, но я его не знаю, к сожалению
...
Рейтинг: 0 / 0
31.07.2009, 11:22:54
    #36119780
musicitsme
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
PlanBmusicitsme, автофильтр ориентирован на таблицу, поэтому достаточно
Код: plaintext
ThisWorkbook.ActiveSheet.Cells( 9 ,  1 ).CurrentRegion.Select
Причём вместо Сells(9,1) надо вогнать одну из ячеек, на которой непосредственно находится автофильтр. (аналогично по функционалу сочетанию клавиш (ctrl+*)
Полагаю, есть способ такую ячейку и не указвать, но я его не знаю, к сожалению

Я Вас понял. Но возникло 2 вопроса:

- а как сделать выделение исключая шапку таблицы? (собственно сама строка с автофильтром)
- как выделить, например, все строки попавшие в автофильтр и только некоторые столбцы? напирмер первые три?
...
Рейтинг: 0 / 0
31.07.2009, 12:14:36
    #36119980
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
musicitsmePlanBmusicitsme, автофильтр ориентирован на таблицу, поэтому достаточно
Код: plaintext
ThisWorkbook.ActiveSheet.Cells( 9 ,  1 ).CurrentRegion.Select
Причём вместо Сells(9,1) надо вогнать одну из ячеек, на которой непосредственно находится автофильтр. (аналогично по функционалу сочетанию клавиш (ctrl+*)
Полагаю, есть способ такую ячейку и не указвать, но я его не знаю, к сожалению

Я Вас понял. Но возникло 2 вопроса:

- а как сделать выделение исключая шапку таблицы? (собственно сама строка с автофильтром)
- как выделить, например, все строки попавшие в автофильтр и только некоторые столбцы? напирмер первые три?философский вопрос :) выделить-то можно, но нужно позиционировать выделение в зависимости от положения таблицы. Советую разместить её начиная с ячейки A1.
мой совет: запишите макрорекордером данные операции
...
Рейтинг: 0 / 0
31.07.2009, 12:23:32
    #36120018
musicitsme
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
решение нашел на другом форуме:

Код: plaintext
1.
2.
    Set myFiltered = ActiveSheet.AutoFilter.Range.Offset( 1 ,  0 ).Resize(ActiveSheet.AutoFilter.Range.Rows.Count -  1 , _
       ActiveSheet.AutoFilter.Range.Columns.Count).SpecialCells(xlCellTypeVisible)
    myFiltered.Select

Остался только неясным момент с выделением нужных столбцов диапазона
...
Рейтинг: 0 / 0
31.07.2009, 12:27:31
    #36120028
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
musicitsme, думаю, разберетесь дальше сами
Код: plaintext
1.
2.
Set myFiltered = ActiveSheet.AutoFilter.Range.Offset( 1 ,  1 ).Resize(ActiveSheet.AutoFilter.Range.Rows.Count -  1 , _
       ActiveSheet.AutoFilter.Range.Columns.Count -  1 ).SpecialCells(xlCellTypeVisible)
    myFiltered.Select
...
Рейтинг: 0 / 0
05.08.2009, 14:46:09
    #36127847
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EXCEL. Как программно выделить диапазон ячеек автофильтра?
К вопросу об использовании автофильтра в vba:

нашёл команду, позволяющую сбрасывать автофильтр, не указвая его местоположения
(если фильтр имеет нулевые огрраничения, выдает ошибку, поэтому идёт с обработчиком.
Код: plaintext
1.
2.
3.
Private Sub AFShow()
On Error Resume Next
    ThisWorkbook.ActiveSheet.ShowAllData
End Sub
Эту команду также можно вывести стандартной кнопочкой на панель. Подробно тут господин Павлов всё описал, спасибо ему.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / EXCEL. Как программно выделить диапазон ячеек автофильтра? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]