Vba 如果范围为EntireRow.Hidden

Vba 如果范围为EntireRow.Hidden,vba,excel,Vba,Excel,我将非常感谢您对我面临的以下问题的帮助 我希望隐藏3行,除非在特定单元格中写入了内容。 如果在特定单元格中写入了内容,我希望下一行变为未隐藏。所以我们假设接下来的两个细胞继续 我已经在th模块中编写了以下代码,请指导我如何解决这个问题(我做错了什么?) 子插入行() 如果范围为“U6”,则 行(“7”).EntireRow.Hidden=False 行(“8:9”).EntireRow.Hidden=True 如果结束 端接头 不确定这是否是您想要的,但这将遍历列U中所有使用的单元格并检查下面的

我将非常感谢您对我面临的以下问题的帮助

我希望隐藏3行,除非在特定单元格中写入了内容。 如果在特定单元格中写入了内容,我希望下一行变为未隐藏。所以我们假设接下来的两个细胞继续

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

子插入行()
如果范围为“U6”,则
行(“7”).EntireRow.Hidden=False
行(“8:9”).EntireRow.Hidden=True
如果结束
端接头

不确定这是否是您想要的,但这将遍历列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
尝试以下解决方案:

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

代码怎么了?我看到它只隐藏了两行(8和9)…是吗?你能澄清你的问题吗?或者,如果
U6
为空,则应隐藏7、8和9,是否需要代码?
Sub InsertRow()
    Rows("7").EntireRow.Hidden = Range("U6") = ""
    Rows("8:9").EntireRow.Hidden = True
End Sub