mail mail

Скрытие отмеченных строк (с использованием элементов управления Checkbox, или без них)

Использование элементов управления Checkbox для скрытия и отображения строк

В прикреплённом файле - 3 варианта реализации:

  • с использованием CheckBox с панели инструментов "Элементы управления"
  • с использованием CheckBox с панели инструментов "Формы"
  • без использования Checkbox - галочки (отметки) ставятся макросом
    (с использованием шрифта Marlett)

 

Для каждого из вариантов использованы свои макросы, скрывающие и отображающие строки
(в первых двух вариантах требуется ещё и скрывать сами чекбоксы)

В третьем варианте для скрытия строк применён автофильтр.

ВложениеРазмер
Checkboxes.xls61.5 КБ

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Спасибо, попробуем прикрутить

Да тут нужен гораздо более простой макрос.
Вчера такой делал - код скрывает столбце при двойном щелчке на ячейке:
programmersforum.ru/showpost.php?p=860687&postcount=2

Благодарю за быстрый ответ. Дело в том что имеется таблица с большим кол-вом столбцов, которые необходимо скрывать перед печатью. Было бы удобно чтобы макрос скрывал столбцы если над ними поставить например галочку или определенный набор символов. Если на основе данного макроса это выполнить невозможно, будем дальше шерстить инет.

Смотря какой из трех вариантов вас интересует...
Автофильтр, к примеру, для скрытия столбцов не подойдёт.

Надо переделывать код - а что именно вам надо, я не знаю.
Обратитесь на форумы по Excel, прикрепите пример своего файла, - и вам обязательно помогут изменить код под ваши нужды.

Отличная вещь. А подскажите как сделать чтобы вместо строк скрывались столбцы?

Благодарю, все заработало!

Просто измените в макросе критерий автофильтра - тогда макрос будет скрывать отмеченные строки:

Sub СкрытьОтмеченные3()
    On Error Resume Next
    [a1:c1000].AutoFilter Field:=2, Criteria1:=""
End Sub

Подскажите пожалуйста, как в третьем варианте сделать скрытие ОТМЕЧЕННЫХ строк, а не скрытие неотмеченных.

Понял, искренне вам благодарен за оказанную помощь.

Для "умных таблиц" надо немножно изменить код - применять автофильтр не к листу, а к таблице:

Пример для третьего варианта, который без использования Checkbox (галочки ставятся макросом с использованием шрифта Marlett)

Sub ОтобразитьВсе3()
    ActiveSheet.ListObjects(1).Range.AutoFilter
End Sub

Sub СкрытьНеотмеченные3()
    On Error Resume Next
    ActiveSheet.ListObjects(1).Range.AutoFilter Field:=2, Criteria1:="<>"
End Sub

Благодарю вас за макрос, Игорь. Отличное решение! В Excel 2007, по всей видимости, этот макрос не работает в "умных" таблицах. Есть ли какое-то решение? Хочется оставить и "умную" таблицу и пользоваться этими замечательными кнопками.

Спасибо большое, чувствую что все просто должно быть, но сам допереть не смог )))

За макрос спасибо, просто, гениально и работает.

В третьем варианте "галочка" и есть ни что иное, как самая обычная буква a, только набранная шрифтом Marlett.

Смените шрифт в столбце - и галочки превратятся в буквы.

Касательно третьего варианта, поясните пож-та каким образом "а" заменяется на галочку?

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
3 + 15 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.