当特定字符串在单元格中时隐藏行

时间:2014-05-23 14:00:16

标签: excel vba excel-vba excel-2007

我在Excel 2007中遇到VBA问题。 当特定字符串在单元格中时,我需要一个宏来隐藏行。 (例如“系统PPP取消”)

我的宏:

Sub HideRows()  
    Dim Cell As Range  
    If InStr(Cell, "cancelled") And Rows(Cell.Row).Hidden = False _  
    Then Rows(Cell.Row).Hidden = True  
    Next Cell  
End Sub  

不幸的是,我得到运行时错误“13”...... 你能救我吗?

1 个答案:

答案 0 :(得分:1)

这适用于Excel 2010:

Sub hide_cancelled()
For i = 1 To Rows.Count
If InStr(Cells(i, 2).value, "cancelled") And Rows(i).Hidden = False Then
    Rows(i).Hidden = True
End If
Next i
End Sub

请注意,这将迭代电子表格中的所有行,无论它们是否包含任何数据或完全为空。可能还要等一下!因此,您应该输入更合理的值,而不是Rows.Count

这也是第2列中的搜索值。在Cells(i,xxx)

中进行更改