Sub 自动隐藏()
'自动隐藏数值为0的单元格
'首先选中一行,再执行,如果选中的是多行,或者选中的行没有数据不会运行
Dim nR As Long, nC As Long
'判断输入是否是一行
If ActiveSheet.Index <> 1 Then Exit Sub
With Worksheets(1)
nR = Selection.Row
If Selection.Rows.Count > 1 Or nR + Selection.Rows.Count - 1 > .UsedRange.Rows.Count Then Exit Sub
nC = .UsedRange.Columns.Count '选中行最后一行数据所在的列号
For i = 1 To nC
.Columns(i).Hidden = IIf(.Cells(nR, i).Value = 0, True, False)
Next i
End With
End Sub
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/1c950a7b02087bf47ce3c13ef8d3572c10dfcfde?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
可以弄一个按钮放到表格上
追问太厉害了!