Страницы: 1
RSS
Промежуточные итоги и фильтр, Отображение промежуточных итогов при включенном фильтре
 
Здравствуйте!

Подскажите пожалуйста, как сделать следующее: у меня вне таблицы с данными и итогами вцелом, созданы ячейки с формулами ПРОМЕЖУТОЧНЫЕ.ИТОГИ (9) данные в ячейках сразу уже отображены после установления формулы и переключая фильтр имею необходимые цифры, но мне необходимо, чтобы данные с этой формулой были видны тогда, когда я включаю фильтр. Можно ли сделать такое? Это нужно для перепроверки, а скрывать формулу хочу для того, чтобы ее не было видно в нормальном состоянии таблицы для других ведомств.
 
Здравствуйте. В принципе, такое можно сделать - макросом можно проверять диапазон, в котором расположена таблица, - фильтрация включена - прячем строки с формулами. Выключена - отображаем.
Кому решение нужно - тот пример и рисует.
 
Подскажете?

П.С. Цитата: "...фильтрация включена - прячем строки с формулами. Выключена - отображаем." Только надо наоборот.
Изменено: mrJack - 30.01.2017 11:06:42
 
Ну можно и наоборот, не запрещается. :)
Кому решение нужно - тот пример и рисует.
 
А как написать код макроса?  
 
Ну можно рекордером записать свои действия, например, т.е. вот таблица без фильтров, вот скрытые строки. Включили запись, поставили фильтр, отобразили строки. Выключили запись.
Потом включили запись, спрятали строки, сняли фильтр.
Получите 2 макроса на установку фильтрации, показ строк и наоборот - снятие фильтрации, скрытие строк. Через Alt+F8 их можно запускать по потребности. Или на горячие клавиши повесить. Или 2 кнопки нарисовать и каждой свой макрос назначить.
Кому решение нужно - тот пример и рисует.
 
Я так пытался, но проблема в том, что подставленная формула ПРОМЕЖУТОЧНЫЕ.ИТОГИ (9; диапазон суммирования) постоянно отображает значения в ячейке с формулой. Скрыть могу только НОЛЬ через условное форматирование. Хотелось бы, чтобы цифры в ячейке с формулой итогов показывались только тогда, когда будет включен фильтр.
 
Скрывайте ВСЮ строку с ячейкой, в которой содержится формула ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Кому решение нужно - тот пример и рисует.
 
Как скрыть ячейку с этой формулой?
Изменено: mrJack - 30.01.2017 14:06:09
 
Выделить строку, правой клавишей мыши щелк - Скрыть.
Кому решение нужно - тот пример и рисует.
 
Пол дела сделано! Вот:
Код
Sub Отобразить()
'
' Отобразить Макрос
'

'
    Rows("1380:1382").Select
    Selection.EntireRow.Hidden = False
    Range("A11:U11").Select
    Selection.AutoFilter
End Sub
Sub Спрятать()
'
' Спрятать Макрос
'

'
    Selection.AutoFilter
    Rows("1381:1381").Select
    Selection.EntireRow.Hidden = True
End Sub
А как сделать так, чтобы он включался сам, без горячих клавиш по установке фильтра?
 
Можно как-то так:
В модуль листа, на котором нужно это упражнение вставить. Пример показан для таблицы (с заголовками) в диапазоне А1:B4. В 6 строке - формула, которую нужно скрывать.
Для реальных данных - поменять диапазон и номер строки на нужный.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("A1:B4"), Target) Is Nothing Then
        If ActiveSheet.AutoFilterMode Then
            Rows(6).Hidden = False
        End If
    Else
        Rows(6).Hidden = True
    End If
End Sub

Срабатывает, когда выделяем ячейку внутри диапазона, на котором применен фильтр и вне этого диапазона
Кому решение нужно - тот пример и рисует.
 
Ничего не происходит.
 
Цитата
mrJack написал: Ничего не происходит.
И кто в это поверит без вашего файла с макросом и реальными данными?!. ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Загрузил.
 
И чего не работает?
Кому решение нужно - тот пример и рисует.
 
Действия: поставил фильтр, появилась желтая строчка (стала видимой), посмотрел, что надо, далее - убрал фильтр, исчезла желтая строка (скрылась). Вот это все не работает.
 
В моем файле:
Уберите фильтр.
Щелкните вне таблицы (смотрите на желтую строку)
Кому решение нужно - тот пример и рисует.
 
Желтая строка исчезает по щелчку в любом месте вне того, установлен фильтр или нет, а также при установке фильтра - строка обратно не появляется. Сохранил документ со снятым фильтром и исчезнувшей строкой и открыл снова - установил фильтр, но строка не появилась.
 
Давайте еще раз.
Вот таблица, там фильтра нет. Установили фильтр, щелкнули внутри таблицы - видна строка? Щелкнули вне таблицы - видна строка?
Сняли фильтр, щелкнули внутри таблицы - видна строка?
Что не устраивает, я понять не могу, у меня все, вроде, по нужному алгоритму скрывается/отображается.
Кому решение нужно - тот пример и рисует.
 
Вот! Сейчас получается!)) Просто Вы алгоритм макроса не расписали до конца) Спасибо Вам Большое, все работает шикарно!!!

П.С. Последний вопрос: почему не видно макроса в списке макросов? Как мне его править, если вдруг понадобится, где мне его можно найти?
 
Макрос находится в коде листа (на ярлыке листа правой клавишей клац - Исходный текст)
Там для события на листе Worksheet_SelectionChange (изменение выделения на листе) расписан данный код.
Кому решение нужно - тот пример и рисует.
 
Ага, нашел, спасибо!

Последний момент по макросу: в будущем, тело таблицы все равно будет меняться, тем временем, прописанные диапазоны в макросе не поменяются, следовательно он не будет работать. Можно ли как-нибудь добавить апгрейд в макрос, чтобы он корректировал эти изменения и подстраивался под таблицу и строку?
 
А как макрос должен понять, что уже надо подстраиваться? Кто и как задаст ему диапазон таблицы и строку с формулой? По-моему, проще будет поменять диапазон (в одной строке )и номер строки при изменении (в трех строках). Всего 4 действия, а сколько удовольствия! :)
Хотя, конечно, есть вариант один, но для этого надо четко быть уверенным, что исходная таблица начинается, например, с 5 строки (там заголовки), таблица идет без разрывов и скрываемая/отображаемая строка расположена (опять же - например) четко на 3 строки ниже таблицы. Если можно такие исходные условия задать для макроса, можно будет соорудить код, учитывающий изменение размера таблицы.
Кому решение нужно - тот пример и рисует.
 
Я четко уверен, что такие условия будут соблюдены. :) Поможете соорудить (проапгрейдить макрос) код?
 
Если четко уверены - озвучьте их (условия) также четко. Не держите в себе, поделитесь конкретными значениями, в которых вы четко уверены.
Кому решение нужно - тот пример и рисует.
 
Фильтры всегда стоят на 5-ой строке
Желтая строка с формулами на 9-й строке после таблицы
 
Попробуйте.
Кому решение нужно - тот пример и рисует.
 
Огромное Спасибо!!!


Тема закрыта.
Страницы: 1
Читают тему
Наверх