填充单元格时隐藏行

时间:2015-01-07 21:14:27

标签: excel vba excel-vba excel-formula

所以我在单元格A2到E2中有一个数据(任务)列表,在F列中是我的团队为其分配名称的选项。我想要发生的事情,就是在F2,F3,F4中输入一个名字....相应的行消失了。

实施例。

F1 ="鲍勃" ,然后第1行消失。

这是我到目前为止所拥有的,但我有一种感觉,我可能会朝着错误的方向前进。

Option Explicit
Private Sub Worksheet_Activate()
    Dim r As Range, c As Range
    Set r = Range("a1:a299")
    Application.ScreenUpdating = False
    For Each c In r
        If Len(c.text) = 0 Then
            c.EntireRow.Hidden = True
        Else
            c.EntireRow.Hidden = False
        End If
    Next c
    Application.ScreenUpdating = True
End Sub

我也不确定这是否会立即更新,或者我每次都必须运行宏。如果我做对了,它应该先做。

1 个答案:

答案 0 :(得分:1)

根据我的评论

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'check to make sure we only have 1 cell
    If Target.Count = 1 Then
        'check the column
        If Target.Column = 6 Then 'F column
            'check text length and if greater then 0 hide the row
            If Len(Target.Text) > 0 Then
                Target.EntireRow.Hidden = True
            Else
                Target.EntireRow.Hidden = False
            End If
        End If
    End If
End Sub