填充单元格时隐藏行
Hide Rows when a cell is populated
所以我在单元格 A2 到 E2 中有一个数据(任务)列表,在 F 列中是我的团队为其指定名称的选项。我想要实现的是,在 F2、F3、F4 中输入名称时......相应的行消失了。
例子。
F1="Bob" ,然后第 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
我也不确定这是否会立即更新它,或者我必须每次都运行宏。如果我做对了,它应该是第一个。
根据我的评论
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
所以我在单元格 A2 到 E2 中有一个数据(任务)列表,在 F 列中是我的团队为其指定名称的选项。我想要实现的是,在 F2、F3、F4 中输入名称时......相应的行消失了。
例子。
F1="Bob" ,然后第 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
我也不确定这是否会立即更新它,或者我必须每次都运行宏。如果我做对了,它应该是第一个。
根据我的评论
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