如果范围EntireRow.Hidden

我真的很感激你对我遇到的下列问题的帮助。

我想要3行被隐藏,除非在特定的单元格中写入内容。 如果在特定单元格中写入了某些内容,我希望下一行不被隐藏。 所以它假设继续下两个单元格。

我已经在模块中写了下面的代码,请指导我如何解决这个问题(我做错了什么?)

Sub InsertRow() If Range("U6") <> "" Then Rows("7").EntireRow.Hidden = False Rows("8:9").EntireRow.Hidden = True End If End Sub 

不知道这是否是你想要的,但这通过col U中所有使用的单元格,并检查下面的行

 Public Sub InsertRow() Dim targetCol As Range, itm As Range Set targetCol = Worksheets("Sheet1").UsedRange.Columns(21) 'UsedRange starts at A1 Application.ScreenUpdating = False 'Update sheet name and column number For Each itm In targetCol.Cells itm.Offset(1).EntireRow.Hidden = (Len(itm.Value2) = 0) Next Application.ScreenUpdating = True End Sub 

试试这个解决scheme

 Sub InsertRow() Rows("7").EntireRow.Hidden = Range("U6") = "" Rows("8:9").EntireRow.Hidden = True End Sub