Скриване на редове в зависимост от стойност в клетка

1 одобрение 0 неодобрения
попитан 2016 февруари 13 в VBA от Реджеп
Здравейте,

Имам таблица в ексел с над 500 реда. Искам да скрия редовете, които имат стойности в колона B по-големи от 100. Как може да стане това с VBA? Благодаря ви предварително!

2 отговори

1 одобрение 0 неодобрения
отговорени 2016 февруари 15 от vbafreak
избран 2016 февруари 15 от BgExcelAdmin
 
Най-добър отговор

Ето ти готов код, който съм изтествал. Ще черпиш една бира :)

Sub HideRowsBasedOnCellValue()
    'determine your range
    Dim Ring As Range
    Dim c As Range
    Set Ring = Range("B1:B1000")
    'for loop cycle to go through all cells in the specified range
        For Each c In Ring
            'hide rows higher than 100
            If c.Value > 100 Then
                c.EntireRow.Hidden = True
            End If
        Next c
    MsgBox ("Rows with values above 100 were hidden!")
End Sub

 

1 коментар

коментиран 2016 февруари 22 от Реджеп
Кодът работи без грешка, хиляди благодарности!
0 одобрения 0 неодобрения
отговорени 2016 февруари 14 от BgExcelAdmin цар (651 точки)

Здравей,

следвай тази логика:

Sub HideRowsValue()
    FirstRow = 1 'номер на първия ред от областта
    LastRow = 1000 'номер на последния ред от областта
    ColNo = 2 'номер на колоната със стойности които искаш да се филтрират
    TargetValue = 100 'граничната ти стойност, в случая 100

    For RowNo = FirstRow To LastRow
        If Cells(RowNo, ColNo).Value > TargetValue Then
            Cells(RowNo, ColNo).EntireRow.Hidden = True
        Else
            Cells(RowNo, ColNo).EntireRow.Hidden = False
        End If
    Next RowNo
End Sub

Добре дошли в българския форум за Ексел и Майкрософт офис! Тук можете да питате хора със знания и опит, както и да споделите знанията и опита си с другите.
...