Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1908|回复: 5

[已解决]【求助】隐藏excel中满足要求的行

[复制链接]
发表于 2011-8-28 03:47 | 显示全部楼层 |阅读模式
本帖最后由 ts_louis 于 2011-8-28 13:05 编辑

我需要隐藏表中行汇总数据为0,或者为空的行,详细需求见附件!

谢谢! 隐藏行.rar (11.61 KB, 下载次数: 4)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-8-28 04:37 | 显示全部楼层
  1. Sub 隐藏()
  2. Dim Rng As Range
  3. '定义Rng变量为单元格类型
  4. For Each Rng In Range("B5:L22")
  5. '遍历单元格B5:L22这个区域
  6.     If Rng = 0 Then Rows(Rng.Row).EntireRow.Hidden = True
  7. '如果有单元格等于0那么该单元格所在行的整行隐藏,否则不进行操作。
  8. Next
  9. End Sub
复制代码
回复

使用道具 举报

发表于 2011-8-28 04:43 | 显示全部楼层
操作步骤:
Step1:按下组合快捷键<Alt+F11>进入VBE编辑窗口
Step2:依次单击菜单栏上的“插入”菜单--“模块”
Step3:将代码粘贴进代码框中
Step4:在工作表上的按钮上单击鼠标右键--指定宏--选择“隐藏”

注意:该代码是指的在B5:L22这个区域中,只要有任意一个单元格的值为空或者等于0那么该单元格所在的整行将会被隐藏。
回复

使用道具 举报

 楼主| 发表于 2011-8-28 12:49 | 显示全部楼层
回复 EXCEL-YQ 的帖子

刚起床。。。谢谢回复!应该是我需求没有说太清楚,我需要的是区域内整行数据为0,或者为空的才隐藏,不是某个单元格为0就隐藏。

非常感谢大清早的回复!{:091:}
回复

使用道具 举报

发表于 2011-8-28 15:13 | 显示全部楼层    本楼为最佳答案   
  1. Option Explicit

  2. Sub 隐藏()
  3. Dim Rng As Range, x As Integer
  4. '定义Rng变量为单元格类型
  5. For Each Rng In Range("B5:L22")
  6. '遍历单元格B5:L22这个区域
  7.     If Rng = 0 Then
  8.         x = x + 1
  9.         '如果该单元格=0或者为空那么变量x在本身上递增1
  10.         If x = 11 Then
  11.             Rows(Rng.Row).EntireRow.Hidden = True
  12.             '如果有单元格等于0那么该单元格所在行的整行隐藏,否则不进行操作。
  13.         End If
  14.         If Rng.Column = 12 Then x = 0
  15.         '如果运行到单元格的列号等于12那么就将变量x重新赋值为0开始。
  16.     End If

  17. Next
  18. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-8-28 17:38 | 显示全部楼层
回复 EXCEL-YQ 的帖子

谢谢了!
大概思路我找到了,3Q!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 07:36 , Processed in 0.257507 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表