так заработало
Код |
---|
Sub jjj() Application.FindFormat.Clear 'For Each sh In SheetsArray("Дефектная_ведомость") Set sh = Sheets("Дефектная_ведомость") Set trgt_rng = sh.Rows("14:" & sh.Cells.SpecialCells(xlLastCell).Row) _ ' задаём целевой диапазон trgt_rng.Hidden = True ' скрываем целевые строки Set clf = trgt_rng.Find(What:="ИТОГО", After:=trgt_rng.Cells(1), LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _ SearchFormat:=False) ' поиск "ИТОГО" на листе If Not clf Is Nothing Then ' если рез. поиска не пустой firstAddress = clf.Address ' запоминаем адрес. перв. найд. яч. Do clf.EntireRow.Hidden = False ' отображаем строку с "итого" Set clf = trgt_rng.FindNext(clf) ' продолжаем поиск Loop While Not clf Is Nothing And clf.Address <> firstAddress ' _ цикл пока либо ничего не нашли, либо пока не вернулись в позицию перв. найд. яч. End If For Each cl In trgt_rng.Rows If Len(cl.Cells(4).Value) > 0 Or _ cl.Cells(6).Value <> 0 Or _ cl.Cells(7).Value <> 0 Or _ cl.Cells(8).Value <> 0 Or _ cl.Cells(13).Value <> 0 _ Then cl.Hidden = False ' отображаем строку Next cl 'Next sh End Sub |