Добрый день. Делаю программку по подбору материалов, где в зависимости от условий подбора в диапазоне i10:i53 появляется необходимое количество . Подскажите, есть макрос, который скрывает соответствующие строки, если значение ячеек диапазона i10:i53 = 0 (0 - произведение чисел). Как его дополнить, чтобы строки опять появлялись если в ячейках i10:i53 меняются значения с 0 на >0. Выложить всю программку не могу из-за веса файла, прикладываю пример. Кнопки "показать/скрыть" или применять фильтр не хочется. Заранее спасибо, тем кто откликнется.
Добрый день. Делаю программку по подбору материалов, где в зависимости от условий подбора в диапазоне i10:i53 появляется необходимое количество . Подскажите, есть макрос, который скрывает соответствующие строки, если значение ячеек диапазона i10:i53 = 0 (0 - произведение чисел). Как его дополнить, чтобы строки опять появлялись если в ячейках i10:i53 меняются значения с 0 на >0. Выложить всю программку не могу из-за веса файла, прикладываю пример. Кнопки "показать/скрыть" или применять фильтр не хочется. Заранее спасибо, тем кто откликнется.fortS
Ну, у меня вот так получилось - по аналогии просто добавил строки с "противоположным" действием: [vba]
Код
Sub СкрытьИпоказатьСтроки() ' перебор ячеек диапазона i10:i54 в поисках цифр Dim cell As Range, delra As Range, showra As Range Application.ScreenUpdating = False
For Each cell In Range("i10:i54").Cells If cell Like 0 Then ' если ячейка содержит хоть одну цифру - удаляем строку If delra Is Nothing Then Set delra = cell Else Set delra = Union(delra, cell) End If If cell <> 0 Then ' если не ноль - показываем строку If showra Is Nothing Then Set showra = cell Else Set showra = Union(showra, cell) End If Next
If Not delra Is Nothing Then delra.EntireRow.Hidden = True ' скрываем их If Not showra Is Nothing Then showra.EntireRow.Hidden = False ' показываем их
Application.ScreenUpdating = True End Sub
[/vba]
Ну, у меня вот так получилось - по аналогии просто добавил строки с "противоположным" действием: [vba]
Код
Sub СкрытьИпоказатьСтроки() ' перебор ячеек диапазона i10:i54 в поисках цифр Dim cell As Range, delra As Range, showra As Range Application.ScreenUpdating = False
For Each cell In Range("i10:i54").Cells If cell Like 0 Then ' если ячейка содержит хоть одну цифру - удаляем строку If delra Is Nothing Then Set delra = cell Else Set delra = Union(delra, cell) End If If cell <> 0 Then ' если не ноль - показываем строку If showra Is Nothing Then Set showra = cell Else Set showra = Union(showra, cell) End If Next
If Not delra Is Nothing Then delra.EntireRow.Hidden = True ' скрываем их If Not showra Is Nothing Then showra.EntireRow.Hidden = False ' показываем их
Gustav, привет, не работает. Для проверки ячейки i1 и i2 меняем в них значение на 0 или 1. Должны отображаться строки с значением ячейки i>0 или скрываться строки если =0
Gustav, привет, не работает. Для проверки ячейки i1 и i2 меняем в них значение на 0 или 1. Должны отображаться строки с значением ячейки i>0 или скрываться строки если =0fortS
Это я всё понял и у меня всё работает. А заметили, что я название подпрограммы слегка изменил? Вы только тело процедуры к себе вставили или вместе с названием?
Это я всё понял и у меня всё работает. А заметили, что я название подпрограммы слегка изменил? Вы только тело процедуры к себе вставили или вместе с названием?Gustav