2015-01-08 150 views
0

我有一個項目,需要Excel來隱藏單獨的工作表(在同一工作簿)行後用戶選擇活動頁上的特定選項。該宏鏈接到一個按鈕,當單擊的行將隱藏在單獨的工作表上時,整個過程將在後臺進行。如果用戶想要使用隱藏行檢查表格,他們需要導航到該單獨的工作表以查看結果。VBA宏excel:如何隱藏行,如果單元格等於FALSE

圖片說明: http://postimg.org/image/ek6981vg1/

工作表( 「輸入 - 選擇筆」) - >活性片,其中具有按鈕

工作表( 「輸入 - 筆」) - >單獨的片材,其中具有隱藏的行

我嘗試了好幾種方法,但沒有一次成功: 方法1:

Sub selectPens() 
Dim c As Range 
Application.EnableEvents = False 
On Error Resume Next 
For Each c In Range("E6:E35") 
    If c.Value = "FALSE" Then 
     Worksheets("Input- Pen").c.EntireRow.Hidden = True 
    ElseIf c.Value = "TRUE" Then 
     Worksheets("Input- Pen").c.EntireRow.Hidden = False 
    End If 
Next c 
On Error GoTo 0 
Application.EnableEvents = True 
End Sub 

方法2:

Sub selectPens() 
Dim i As Long 
Set wselect = Sheet11 
With wselect 
For i = 6 To 35 
    If ActiveSheet.Cells(i, 5).Value = "FALSE" Then 

     .Range("i:i").EntireRow.Hidden = True 
     ' .Rows(i).EntireRow.Hidden = True 
    ElseIf ActiveSheet.Cells(i, 5).Value = "TRUE" Then 
     ' .Rows(i).EntireRow.Hidden = False 
     .Range("i:i").EntireRow.Hidden = False 
    End If 
Next i 
End With 

End Sub 

我將不勝感激的任何幫助。

非常感謝!

回答

2
Sub selectPens() 

    Dim i As Long, wsselect 
    Set wselect = Sheet11 

    For i = 6 To 35 
     'EDIT 
     wselect.Rows(i).Hidden = (ActiveSheet.Cells(i, 5).Value = False)   
    Next i 

End Sub 
+0

嗨蒂姆,感謝您的及時回覆。 Sheet11(圖像右側的輸入筆)實際上是指我希望隱藏行的工作表。 Sheet10(「輸入選擇筆」)是放置激活合攏動作的按鈕的活動頁。 – lydias

+0

好的 - 請參閱我的編輯。 –

+0

如果出現這種情況,可以在sheet10的答案中切出sheet11,然後根據需要在if語句內部添加「Sheets(」Sheet10「)。cells(i,5).entirerow.hidden = true」。 –

相關問題