Excel 在输入数据时取消隐藏行

Excel 在输入数据时取消隐藏行

我正在尝试编写一个简单的代码,如果在上一行输入了数据,则会自动取消隐藏下一行。这个想法是,当有人在电子表格中输入更多详细信息时,它会根据需要增长,并且所有多余的行都会隐藏在开头。

范围是从第 2 行到第 56 行,但第 56 行。

数据从 D 列输入到 M 列,但我只希望在取消隐藏行时评估 D 列

Sub UnHideRows()
Dim i As Integer
    If Target.Address = Worksheet("Blah").Range("D3:D55") Then
        i = ActiveCell.Row
        Worksheet("Blah").Row(i+1).hidden = false
    End if
End Sub

不幸的是,这不起作用,我只希望在当前行 D 单元格中输入数据时取消隐藏下一行。如能得到任何帮助,我将不胜感激。如果删除了所有数据,也不需要重新隐藏该行。

答案1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 And _
   Target.Offset(1, 0).EntireRow.Hidden Then
        Target.Offset(1, 0).EntireRow.Hidden = False
        ' Target.Offset(1, 0).Activate '
End If
End Sub

我只希望在取消隐藏行时评估 D 列

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 And _
   Target.Column = 4 And _
   Target.Offset(1, 0).EntireRow.Hidden Then
        Target.Offset(1, 0).EntireRow.Hidden = False
        ' Target.Offset(1, 0).Activate '
End If
End Sub

相关内容