怎么设置excel达到条件整行自动隐藏并且还能出现

如题

假设在O3中输入“合同已退”,然后第3行整行将自动隐藏,而且在需要的时候还可以调出来,看完后还能再次隐藏起来?

这个需要用VBA宏来解决,在这个工作表的底部标签名上点鼠标右键,选“查看代码”,会弹出该工作表的VBA窗口,把下面代码粘贴进去:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 15 Then '第15列对应o列
    If Target.Value = "合同已退" Then Rows(Target.Row).EntireRow.Hidden = True
End If
End Sub

Sub 显示()
Cells.EntireRow.Hidden = False
End Sub
Sub 隐藏()
For i = 3 To Range("o65536").End(xlUp).Row
    If Cells(i, 15) = "合同已退" Then Rows(i).EntireRow.Hidden = True
Next
End Sub

回到表格窗口,只要在O列输入 合同已退 这四个字,就会自动隐藏该行;另个在“工具-宏-宏”中执行“显示”宏,就能把隐藏的都显示出来;执行“隐藏”宏,能把所有O列是 合同已退 的都隐藏起来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-26
等VBA高手,或者你自己找VBA隐藏。
简单点的办法就自己录制个宏,自动筛选——不要勾选合同已退
第2个回答  2013-09-26
拖动行号3下的线进行一行的隐藏,再以最适合的行高设置就出来了
第3个回答  2015-12-30
按ALT+F11.在左边找到这张表,双击,在右边的空白处复制下面的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 3 And .Count = 1 Then
If .Value = "完成" Then
.Rows.EntireRow.Hidden = True
End If
End If
End With
End Sub
然后关闭,回到C列,输入"完成"就隐藏了
第4个回答  2013-09-26
用自带的组合功能,

选择需要隐藏的某一行,点组合,边上会出现一个"-",点击隐藏,变成"+",再点出现你隐藏的行!
相似回答