Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2018, 15:43   #1
ignatenko_e
Пользователь
 
Регистрация: 17.04.2018
Сообщений: 14
По умолчанию как скрыть строки по условию нескольких ячеек

Здравствуйте!
помогите плз мне))
я чайник в макросах, но похоже без него в данном вопросе никак.
во вложении кусочек таблицы, из которой нужно скрыть пустые строки по условию: если в интервале D4:L12 значение=0 или пустое.
и это должно происходить только на одном листе (там где таблица)
спасибо)
Вложения
Тип файла: xlsx форум.xlsx (11.9 Кб, 31 просмотров)

Последний раз редактировалось ignatenko_e; 17.04.2018 в 16:11.
ignatenko_e вне форума Ответить с цитированием
Старый 17.04.2018, 16:36   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Sub Ig()
Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("D4:L12").Rows
    If WorksheetFunction.CountIf(r, ">0") = 0 Then r.EntireRow.Hidden = True
  Next
  Application.ScreenUpdating = True
End Sub
Вложения
Тип файла: zip форум (2).zip (15.7 Кб, 34 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.04.2018, 10:17   #3
ignatenko_e
Пользователь
 
Регистрация: 17.04.2018
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Код:
Sub Ig()
Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("D4:L12").Rows
    If WorksheetFunction.CountIf(r, ">0") = 0 Then r.EntireRow.Hidden = True
  Next
  Application.ScreenUpdating = True
End Sub

спасибо огромное)))
ignatenko_e вне форума Ответить с цитированием
Старый 18.04.2018, 11:08   #4
ignatenko_e
Пользователь
 
Регистрация: 17.04.2018
Сообщений: 14
По умолчанию

к хорошему привыкаешь быстро)))) теперь все работает - скрывает нулевые строки по заданному диапазону. захотелось сделать кнопку показывать все строки. содрала макрос на форуме:
Sub show()
Application.ScreenUpdating = False
With [Tab]
Columns.Hidden = False
Rows.Hidden = False
End With
Application.ScreenUpdating = False
End Sub

но, нажаль, в этом случае разворачиваются все созданные группировки, а хотелось бы чтоб открывались только то, что было "спрятано" макросом.

спасибо)))
ignatenko_e вне форума Ответить с цитированием
Старый 18.04.2018, 11:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от ignatenko_e Посмотреть сообщение
а хотелось бы чтоб открывались только то, что было "спрятано" макросом.
так почему бы не изменить этот же макрос?!

так, например
Код:
Sub ShowHiden()
Dim r As Range
  Application.ScreenUpdating = False
  For Each r In Range("D4:L12").Rows
    If WorksheetFunction.CountIf(r, ">0") = 0 Then r.EntireRow.Hidden = False
  Next
  Application.ScreenUpdating = True
End Sub
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование ячеек на лист 2 и по условию копирование строки в буфер FiataliS Microsoft Office Excel 7 11.05.2020 18:19
Заполнение пустых ячеек по условию (копирование???) при помощи макроса, Макрос для копирования диапазона ячеек на текущем листе maxscorpio Microsoft Office Excel 0 06.02.2017 09:43
Перенос не всей строки, а только нескольких ячеек из нее Makroshka Microsoft Office Excel 2 27.10.2016 12:06
Как получить диапазон ячеек отвечающих условию Arassir Microsoft Office Excel 2 09.10.2011 16:32
Выбор ячеек по условию из нескольких листов hamlook Microsoft Office Excel 10 10.11.2009 16:00