Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос скрытия диапазона с условием
 
так заработало
Код
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
Макрос скрытия диапазона с условием
 
МатросНаЗебре, так пробовал, тоже ругается...
Код
Application.FindFormat.Clear
     For Each sh In SheetsArray("Дефектная_ведомость")
        Set trgt_rng = wsh.Rows("14:" & wsh.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
Изменено: sotmel - 19.02.2020 10:06:55
Макрос скрытия диапазона с условием
 
Доброго времени суток. Помогите пожалуйста поправить данный код для выполнения задачи в рамках ОДНОГО определенного листа...
Код
Sub jjj()
     Application.FindFormat.Clear
     For Each sh In Sheets(Array("Äåôåêòíàÿ_âåäîìîñòü", "Àêò_ñïèñàíèÿ_ìàòåðèàëîâ", "Ëèìèòíî-çàáîðíàÿ_êàðòà"))
        Set trgt_rng = wsh.Rows("14:" & wsh.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
Изменено: sotmel - 18.02.2020 20:16:43
Страницы: 1
Наверх