作者:乔山办公网日期:
返回目录:excel表格制作
楼主一定要用宏吗?基础操作也是可以的
补充:我说的基础操作是:用查找把表里的0一次找到,ctrl+a后一次全部隐藏,如果这样解决也符合要求,就不必用宏了。
这是一个我用VBA 编程序的zhidao实例:
(假设你的表放在当前页,从第1行连续共N行,要判断第M列单元是否0值或空白,如果该单元=0则自动隐藏该行。你用快捷专键时,VBA自动对整个表的每一行按M列是否为零作隐藏或维持原状处理)
在EXCEL中选菜单Tools-Macro-RecordNewMacro建立一个用快捷键呼叫的VBA模块,再进入VBA编辑窗口将下列语句加入该VBA模块。属
Sub ZZZ()
'
' ZZZ Macro
' Macro recorded 5/30/2008 by CNYIZHO
'
' Keyboard Shortcut: Ctrl+Shift+N
'
M = 1 ;指定列号
N = ActiveSheet.[A1].CurrentRegion.Rows.Count ' 取该表有效非空行数(指有数据的连续行)
For I = 1 To N '扫描表中所有行
If Cells(I, M) = Empty Then ' 如果I行第M列的单元值=0或空白 则隐藏它
Rows(I).Hidden = True '隐藏I行
End If
Next
End Sub
第一步,先百选定你需要判断0单元格的那一行,
第二步,用查找,查找全部度,找到该行所有问为0的单元格,
第三步,在查找对话框里用快捷键全选找到的单元格,
第四步:关答闭查找对话框内
第五步,用“Ctrl+0”组合键即可隐藏选定单元容格所在的列了~
希望可以帮到你~
自动隐藏功能需要用VBA来实百现。假设判定列为B列,可使用以下代码(绿色度文本为注解,可自知行修改相关内容):
Sub hid()
With Sheet1 '工作表1,你也可以改成其它道工作表
For i = 1 To 100 '循环版,从1到权100行
If .Cells(i, "b") = 0 Then .Cells(i, "b").EntireRow.Hidden = True '如果单元格Bi(i为行号1到100)为0,则Bi所在的行隐藏
Next '接着下一个循环
End With
End Sub