永发信息网

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

答案:5  悬赏:50  手机版
解决时间 2021-03-20 00:40
  • 提问者网友:泪痣哥哥
  • 2021-03-19 21:35
怎么设置excel达到条件整行自动隐藏并且还能出现
最佳答案
  • 五星知识达人网友:夜余生
  • 2021-03-19 22:46
按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列,输入"完成"就隐藏了
全部回答
  • 1楼网友:忘川信使
  • 2021-03-20 03:26
拖动行号3下的线进行一行的隐藏,再以最适合的行高设置就出来了
  • 2楼网友:三千妖杀
  • 2021-03-20 01:59
等VBA高手,或者你自己找VBA隐藏。
简单点的办法就自己录制个宏,自动筛选——不要勾选合同已退
  • 3楼网友:酒安江南
  • 2021-03-20 01:31
用自带的组合功能,

选择需要隐藏的某一行,点组合,边上会出现一个"-",点击隐藏,变成"+",再点出现你隐藏的行!
  • 4楼网友:渊鱼
  • 2021-03-19 23:53

这个需要用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列是 合同已退 的都隐藏起来。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯