2015-06-14 34 views
1

我有一個帶有單個按鈕的用戶表單。使用單個按鈕顯示或隱藏工作表

問題:是否可以使用一個按鈕顯示或隱藏工作表?如果是這樣的代碼將看起來像什麼?

我想這一個至今:

Private Sub data_Button_click() 

If data_Button.Caption = "Hidden" Then 
Worksheets("u").Visible = True 
data_Button.Caption = "Visible" 
End If 

If data_Button.Caption = "Visible" Then 
Worksheets("u").Visible = False 
data_Button.Caption = "Hidden" 
End If 

End Sub 

回答

0

合併那些2個If語句轉換成一個像這樣的:

Private Sub data_Button_click() 

If data_Button.Caption = "Hidden" Then 
    Worksheets("u").Visible = True 
    data_Button.Caption = "Visible" 
ElseIf data_Button.Caption = "Visible" Then 
    Worksheets("u").Visible = False 
    data_Button.Caption = "Hidden" 
End If 

End Sub 
+0

它的工作!非常感謝 !!! – Johannes

+0

看看[另一個很好的答案](http://stackoverflow.com/questions/30825981/show-or-hide-a-worksheet-using-a-single-button#30826244),請檢查✓符號其中一個答案。 – ZygD

2

試試這個:

Private Sub data_Button_Click() 
    With Worksheets("u") 
     .Visible = Not .Visible 
     data_Button.Caption = IIf(.Visible, "Hide", "Show") 
    End With 
End Sub 
+0

我也試過這個,它也工作得很好,編碼雖然很先進,線條少。你能清楚地解釋你的代碼是如何工作的,以及爲什麼你沒有使用if語句。別的,非常感謝! – Johannes

+0

'Not'操作符設置'.Visible'屬性的相反狀態:如果表單可見,則隱藏它,反之亦然。 'IIf'實際上是'If .. Then .. Else .. End If'語句的縮寫形式,用於更改當前狀態對應的按鈕標題。 – omegastripes