VBA Macro Excel:如果单元格等于FALSE,如何隐藏行 [英] Vba macro excel: How to hide rows if cell equal FALSE

查看:171
本文介绍了VBA Macro Excel:如果单元格等于FALSE,如何隐藏行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个项目,要求用户在活动工作表上选择特定选项后,Excel才能在单独的工作表(同一工作簿内)中隐藏行.该宏链接到一个按钮,当单击的行将隐藏在单独的工作表上时,整个过程将在后台进行.如果用户要检查带有隐藏行的表,则需要导航到该单独的工作表以查看结果.

I have a project which requires Excel to hide rows on a separate sheet(within the same workbook) after user selects specific options on the activesheet. The macro is linked to a button, when clicked rows will be hidden on the separate sheet, and the whole process occurs in the background. If the user want to check the table with hidden rows they'd need to navigate to that separate sheet to see the result.

图片说明: http://postimg.org/image/ek6981vg1/

Worksheets("Input- Select Pens")->带有按钮的活动工作表

Worksheets("Input- Select Pens") --> active sheet where has the button

Worksheets("Input- Pen")->具有隐藏行的单独工作表

Worksheets("Input- Pen") --> separate sheet where has the hidden rows

我尝试了几种方法,但是没有一个起作用: 方法1:

I have tried several methods, but none of them worked: Method 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

我将不胜感激.

非常感谢!

推荐答案

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

这篇关于VBA Macro Excel:如果单元格等于FALSE,如何隐藏行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆