![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
![]()
Всем здравствуйте!
Прошу помочь, в решении следущей задачи: См. вложение. Необходимо скрыть все строки, значение которых по столбцу В равно 0. Спасибо. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
![]()
for each c in range("B1:B200")'здесь подставишь свое
if c.value=0 then c.EntireRow.Hidden = True next c |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
![]()
Уточню:
не думайте что я не умею пользоваться автофильтром, он здесь работает, но от этой таблицы хочется мгновенной реакции, а при использовании фильтра, его приходится переключать каждый раз когда данные меняются, поэтому если возможно это сделать макросом, буду благодарен. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
![]()
to аналитика.
Спасибо. Работает, но почему-то происходит довольно длительный расчет (около 3 сек.)... И еще, макрос получается тоже надо запускать каждый раз при смене значений? Нельзя прописать например так: при смене значения в ячейке B4 запустить макрос? |
![]() |
![]() |
![]() |
#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. Причина: Усовершенствование кода |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
![]()
Первый раз срабатывает, скрывает нужные строки, потом когда изменяешь значения, скрытые строки обратно не отображаются....
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
![]()
см. изменение в коде
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 226
|
![]()
это я уже измененный применил..
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 14.05.2009
Сообщений: 311
|
![]()
c.EntireRow.Hidden = (c.Value = 0)
-это-то заметил? |
![]() |
![]() |
![]() |
#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 |