Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 08.04.2010, 13:29   #1
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию Скрытие строк по условию

Всем здравствуйте!

Прошу помочь, в решении следущей задачи:
См. вложение.
Необходимо скрыть все строки, значение которых по столбцу В равно 0.

Спасибо.
Вложения
Тип файла: rar скр_строк.rar (71.0 Кб, 46 просмотров)
MaxxVer вне форума   Ответить с цитированием
Старый 08.04.2010, 13:51   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Адрес: Москва
Сообщений: 311
Репутация: 46
По умолчанию

for each c in range("B1:B200")'здесь подставишь свое
if c.value=0 then c.EntireRow.Hidden = True
next c
аналитика вне форума   Ответить с цитированием
Старый 08.04.2010, 13:57   #3
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию

Уточню:
не думайте что я не умею пользоваться автофильтром, он здесь работает, но от этой таблицы хочется мгновенной реакции, а при использовании фильтра, его приходится переключать каждый раз когда данные меняются, поэтому если возможно это сделать макросом, буду благодарен.
MaxxVer вне форума   Ответить с цитированием
Старый 08.04.2010, 14:10   #4
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию

to аналитика.
Спасибо. Работает, но почему-то происходит довольно длительный расчет (около 3 сек.)... И еще, макрос получается тоже надо запускать каждый раз при смене значений? Нельзя прописать например так: при смене значения в ячейке B4 запустить макрос?
MaxxVer вне форума   Ответить с цитированием
Старый 08.04.2010, 14:21   #5
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Адрес: Москва
Сообщений: 311
Репутация: 46
По умолчанию

правой кнопкой по ярлыку листа - "Исходный текст",
в этот модуль пишешь:
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
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию

Первый раз срабатывает, скрывает нужные строки, потом когда изменяешь значения, скрытые строки обратно не отображаются....
MaxxVer вне форума   Ответить с цитированием
Старый 08.04.2010, 14:49   #7
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Адрес: Москва
Сообщений: 311
Репутация: 46
По умолчанию

см. изменение в коде
аналитика вне форума   Ответить с цитированием
Старый 08.04.2010, 14:56   #8
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию

это я уже измененный применил..
MaxxVer вне форума   Ответить с цитированием
Старый 08.04.2010, 14:59   #9
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Адрес: Москва
Сообщений: 311
Репутация: 46
По умолчанию

c.EntireRow.Hidden = (c.Value = 0)
-это-то заметил?
аналитика вне форума   Ответить с цитированием
Старый 08.04.2010, 15:06   #10
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
Репутация: 10
По умолчанию

Конечно, я полностью весь код вставил из последнего сабжа...
MaxxVer вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрытие неактивных строк Alex19789 Microsoft Office Excel 2 19.02.2010 14: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 17:52
Скрытие ненужных строк/столбцов Bayers Microsoft Office Excel 4 19.10.2007 12:05


19:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru