加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

VBA指定条件隐藏列

(2011-05-01 17:46:00)
标签:

杂谈

分类: v.b.a

问题:求一个excel宏,指定条件列隐藏,请高人赐教!

如以下表格,当我在B列筛选等于“早”,后面日期栏会有一些列值全部为0的,我要把全部为0的列隐藏起来。请问有人可以为我实现这个吗?感激!

问题补充:

不是,我这只是举例,因为我要处理的数据比这复杂很多,有很多筛选项横向很长,会频繁拖动横向的方块才能看全。隐藏之后我需要阅读并分析上面的信息。如果手动隐藏的会花掉我很长时间。

 

 

回答:

楼主, 假设您工作表第一行是标题, 第二行以下是数据。下列VBA代码执行后了隐藏单列上所有"可见"值之和为0的列.Dim c As Integer Dim i As IntegerDim j As Longc = Range("IV1").End(xlToLeft).Column j = Range("B65536").End(xlUp).RowFor i = 3 To c If WorksheetFunction.Subtotal(9, Range(Cells(2, i), Cells(j, i))) = 0 Then ActiveSheet.Columns(i).EntireColumn.Hidden = True End IfNext i  上述代码使用方法如下: 录制宏:菜单"工具"->宏->录制宏)--> "宏名"处给宏取名字->设定快捷键,"快捷键"下面输入一个字母-->确定后开始录制宏。编辑宏:开始录制后即可直接按停止键, 然后编辑宏(工具->宏->宏(M)->选择刚建那个宏->点右边的"编辑"按钮-->进入宏编辑界面-->删除Sub XXX 至 End Sub之间所有内容-->然后粘贴上述程序代码-->按工具栏上的"保存"按钮-->"文件"菜单-->关闭并反回MicorSoft Excel 执行宏: 按刚刚设定的快捷键(Ctrl+那个字母), 或者通过菜单"工具"-->宏-->宏(M)-->窗口上选宏名, 按"执行"按钮执行宏.

参贴:http://zhidao.baidu.com/question/112155172.html

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有