2017-07-07 150 views
0

嗨我已經嘗試了下面的代碼,但它似乎沒有工作,任何人都可以幫助我。我只是想隱藏行3 & 4當B1有文字Delete。但是我想在Delete進入B1時自動運行。Excel宏查詢:根據單元格值隱藏行

感謝

Code

+0

歡迎來到SO!請查看以下帖子並適當更新問題,確保問題中包含任何代碼,幷包含以下錯誤: https://stackoverflow.com/help/how-to-ask – garfbradaz

+0

請不要包含代碼作爲圖像。將其作爲文本加入並將其格式化爲代碼塊,以便人們可以更輕鬆地爲您提供幫助。 –

回答

1

像這樣的東西應該工作

Option Explicit 'Very first line to ensure that variables are declared 

Private Sub Worksheet_Change(ByVal Target As Range) 
    'check if target address is B1 
    If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "B1" Then 
     ShowHideRows 
    End If 
End Sub 

Public Sub ShowHideRows() 
    If Range("B1").Value = "Delete" Then 
     Rows("3:4").EntireRow.Hidden = True 
     Rows("7:8").EntireRow.Hidden = False 
    ElseIf Range("B1").Value = "Open" Then 'use ElseIf if possible like here 
     Rows("3:4").EntireRow.Hidden = False 
     Rows("7:8").EntireRow.Hidden = True 
    End If 
End Sub 

注:這是區分大小寫的。所以如果你輸入B1 delete而不是Delete它將不會運行。爲使其不區分大小寫,請使用LCase(),例如:

LCase(Range("B1").Value) = "delete" 'string delete must be lower case! 
相關問題