|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.04.2010, 13:29 | #1 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
Скрытие строк по условию
Всем здравствуйте!
Прошу помочь, в решении следущей задачи: См. вложение. Необходимо скрыть все строки, значение которых по столбцу В равно 0. Спасибо. |
08.04.2010, 13:51 | #2 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
for each c in range("B1:B200")'здесь подставишь свое
if c.value=0 then c.EntireRow.Hidden = True next c |
08.04.2010, 13:57 | #3 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
Уточню:
не думайте что я не умею пользоваться автофильтром, он здесь работает, но от этой таблицы хочется мгновенной реакции, а при использовании фильтра, его приходится переключать каждый раз когда данные меняются, поэтому если возможно это сделать макросом, буду благодарен. |
08.04.2010, 14:10 | #4 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
to аналитика.
Спасибо. Работает, но почему-то происходит довольно длительный расчет (около 3 сек.)... И еще, макрос получается тоже надо запускать каждый раз при смене значений? Нельзя прописать например так: при смене значения в ячейке B4 запустить макрос? |
08.04.2010, 14:21 | #5 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
правой кнопкой по ярлыку листа - "Исходный текст",
в этот модуль пишешь: Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Address = Range("B4").Address Then Application.ScreenUpdating = False Application.Calculation = xlCalculationManual'может это поможет для ускорения For Each c In Range("B1:B200") 'здесь подставишь свое c.EntireRow.Hidden = (c.Value = 0) Next c Application.Calculation = xlCalculationAutomatic End If End Sub Последний раз редактировалось аналитика; 08.04.2010 в 14:47. Причина: Усовершенствование кода |
08.04.2010, 14:44 | #6 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
Первый раз срабатывает, скрывает нужные строки, потом когда изменяешь значения, скрытые строки обратно не отображаются....
|
08.04.2010, 14:49 | #7 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
см. изменение в коде
|
08.04.2010, 14:56 | #8 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
это я уже измененный применил..
|
08.04.2010, 14:59 | #9 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
c.EntireRow.Hidden = (c.Value = 0)
-это-то заметил? |
08.04.2010, 15:06 | #10 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
Конечно, я полностью весь код вставил из последнего сабжа...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрытие неактивных строк | Alex19789 | Microsoft Office Excel | 2 | 19.02.2010 13:57 |
Необычное условие скрытие строк интересует | serafim09 | Microsoft Office Excel | 10 | 25.09.2009 11:16 |
Скрытие строк и столбцов | Gawwws | Microsoft Office Excel | 4 | 19.10.2008 00:02 |
Скрытие столбцов по условию | snake980 | Microsoft Office Excel | 6 | 26.02.2008 16:52 |
Скрытие ненужных строк/столбцов | Bayers | Microsoft Office Excel | 4 | 19.10.2007 12:05 |