我在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”...... 你能救我吗?
答案 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)