Добрый день!
помогите пожалуйста исправить макрос, делает вот что:
на листе есть ячейки в которых при определённых условиях формулой пишется "скрыть".
Макрос перебирает все строки в рабочем диапазоне и проверяет их на скрытость:
макрос неправильно ищет (или не ищет вообще) в скрытых строках
заранее спасибо за помощь!
помогите пожалуйста исправить макрос, делает вот что:
на листе есть ячейки в которых при определённых условиях формулой пишется "скрыть".
Макрос перебирает все строки в рабочем диапазоне и проверяет их на скрытость:
Скрытый текст |
|---|
| ------------ смотрит строку: если строка НЕ скрыта смотрит ЕСТЬ ли в ней ячейка с "скрыть" если в строке ЕСТЬ ячейка с "скрыть", то добавляет эту строку в диапазон для дальнейшего скрытия если в строке НЕТ ячейки с "скрыть", то идём дальше если строка СКРЫТА смотрит есть ли в ней ячейка с "скрыть" если в строке НЕТ ячейки с "скрыть", то добавляет эту строку в диапазон для дальнейшего РАСкрытия если в строке ЕСТЬ ячейка с "скрыть", то идём дальше смотрит все остальные строки скрывает накопленный диапазон со строками подлежащими скрытию раскрывает накопленный диапазон со строками подлежащими раскрытию ------------ |
заранее спасибо за помощь!
| Код |
|---|
Sub hide_unhide() Dim ra As Range, unhidera As Range, hidera As Range Application.ScreenUpdating = False ТекстДляСкрытия = "скрыть" For Each ra In ActiveSheet.UsedRange.Rows 'MsgBox ra.Row If ra.EntireRow.Hidden = False Then 'если НЕскрыто, а "скрыть" ЕСТЬ If Not ra.Find(ТекстДляСкрытия, , xlValues, xlPart) Is Nothing Then If hidera Is Nothing Then Set hidera = ra Else Set hidera = Union(hidera, ra) End If Else 'если СКРЫТО, а "скрыть" НЕТ If ra.Find(ТекстДляСкрытия, , LookIn:=xlFormulas) Is Nothing Then If unhidera Is Nothing Then Set unhidera = ra Else Set unhidera = Union(unhidera, ra) End If End If Next If Not hidera Is Nothing Then hidera.EntireRow.Hidden = True If Not unhidera Is Nothing Then unhidera.EntireRow.Hidden = False Application.ScreenUpdating = True ActiveSheet.Calculate End Sub |
Изменено: - 08.11.2014 00:41:05