2015-01-08 8 views
0

У меня есть проект, который требует, чтобы Excel спрятал строки на отдельном листе (в пределах одной и той же книги) после того, как пользователь выбирает определенные параметры в активной таблице. Макрос связан с кнопкой, когда щелкнутые строки будут скрыты на отдельном листе, и весь процесс происходит в фоновом режиме. Если пользователь хочет проверить таблицу со скрытыми строками, им нужно будет перейти к этому отдельному листу, чтобы увидеть результат.Vba macro excel: Как скрыть строки, если ячейка равна FALSE

Изображение Объяснение: http://postimg.org/image/ek6981vg1/

Таблицах ("Вход- Выбор ручки") -> активный лист, где находится кнопка

Worksheets ("Вход- Pen") -> отдельный лист, где есть скрытые строки

я попытался несколько способов, но ни один из них не работали: Метод 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 (Input-Pen, с правой стороны изображения) на самом деле ссылается на лист, где я хочу, чтобы строки были скрыты. Sheet10 («Input-Select Pens») является активной таблицей, где я помещаю кнопку, которая активирует свертывающееся действие. – lydias

+0

Хорошо - см. Мое редактирование. –

+0

Если это так, вы можете отключить лист11 на ответе с помощью листа 10, а затем «Листы (« Лист10 »). Ячейки (i, 5) .entirerow.hidden = true« внутри операторов if при необходимости. –

Смежные вопросы