excel中按条件自动隐藏行列

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:53:00
比如:"sheet!2"中B列单元格全部引用"sheet1!"中B列单元格:
"sheet!2"B6="sheet1!"B4
"sheet!2"B7="sheet1!"B5
"sheet!2"B8="sheet1!"B6
依此类推........(注:单元格内容为文本)
目的:当"sheet1!"中B列某行单元格为空(或输入“0”)时,则"sheet!2"中B列引用单元格所在行就自动隐藏,当该单元格有内容时(文本),则该行又会自动显示出来(即:单元格为“0”时自动隐藏,否就显示)。不知我说清楚了没有,请各位高手能在百忙中帮帮小弟,感激不尽。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then
Exit Sub
Else
If Target.Row <= 4 Then
Exit Sub
Else
If Target = 0 Then
Sheet2.Rows(Target.Row + 2).EntireRow.Hidden = True
Else
Sheet2.Rows(Target.Row + 2).EntireRow.Hidden = False
End If
End If
End If
End Sub

以上从sheet1的B4开始输入会触代码,空值也要输,就是进入单元格编辑状态(比如按F2),再按回车结束,不然程序无法判断.
你试试

在sheet2!的B6中输入=if(or(sheet1!B4="",sheet1!B4=0),"",inidrect("sheet1!b"&row()-2)),下拉复制

我可以帮你完成,将表发过来。

必须用VBA的