VBA-根据单元格是否包含特定文本来隐藏行

时间:2017-08-09 15:20:19

标签: excel vba excel-vba multiple-columns cells

希望扫描整列以查看产品(在单个单元格中)是否可以停产。如果已停止的单词位于单元格中,则为true。如果停止,我希望隐藏整行。有什么建议吗?

Sub HideRows()
    Dim c As Range
    For Each c In Range("B3:B2452")
        If InStr(1, c, "Discontinued") Or InStr(1, c, "discontinued") Then
            c.EntireRow.Hidden = True
        End If
        Next
End Sub

1 个答案:

答案 0 :(得分:2)

Sub HideRows()

    Dim rCheck As Range
    Dim rHide As Range
    Dim rCheckCell As Range

    Set rCheck = ActiveWorkbook.ActiveSheet.Range("B3:B2452")
    rCheck.EntireRow.Hidden = False

    For Each rCheckCell In rCheck.Cells
        If InStr(1, rCheckCell, "Discontinued", vbTextCompare) > 0 Then
            If Not rHide Is Nothing Then Set rHide = Union(rHide, rCheckCell) Else Set rHide = rCheckCell
        End If
    Next rCheckCell

    If Not rHide Is Nothing Then rHide.EntireRow.Hidden = True

End Sub