2017-06-30 58 views
0

我真的很感謝您對以下問題的幫助。如果範圍EntireRow.Hidden

我想要隱藏3行,除非在特定單元格中寫入內容。 如果在特定單元格中寫入內容,我希望下一行變爲不隱藏。所以它假設繼續接下來的兩個單元格。

我已屆模塊中寫了下面的代碼,請指導我如何解決這個(我究竟做錯了什麼?)

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

什麼是錯的代碼?我看到它只隱藏兩行(8和9)......是這樣嗎?你能否澄清你的問題/問題?或者如果'U6'是空的,你需要代碼,那麼應該隱藏7,8和9? – BruceWayne

回答

1

不知道這是否是你想要的,但這種經歷在山坳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 
0

嘗試這種解決方案:

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