微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在excel中一键向下钻取数据?

如何解决如何在excel中一键向下钻取数据?

我有一张年进度表,其中一列包含 (+) 符号,我想要的是当我点击 (+) 时 从数字 8 到 15 的行将向下钻取数据(显示数据),本例中的 (+) 号将是 (-) 号,然后重新单击 (-) 号以向上钻取数据(隐藏数据)和(-) 又来了 (+)。我希望这个公式适用于整个表格的每一行。注意:我的代码的问题只针对一行完成,但我想要所有,所以是否有任何简单的方法可以为所有行制作。

The Table when rows is Hidden

The Table when rows is Appeared

尝试代码

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target,Range("O:O")) Is nothing And Target.Cells.CountLarge = 1 Then

If Range("A8:R15").EntireRow.Hidden = True Then

    Range("A8:R15").EntireRow.Hidden = False

Else
    Range("A8:R15").EntireRow.Hidden = True
End If
End If
End Sub

更新

Screenshot after using the correct Code

解决方法

我在这里使用了双击事件:否则需要单击单元格外并再次返回以反转隐藏/取消隐藏有点尴尬。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)
    Dim rng As Range
    'exit if not in monitored column
    If Intersect(Target,Me.Range("O:O")) Is Nothing Then Exit Sub
    'check for +/-
    If Target.Value = "+" Or Target.Value = "-" Then
        Set rng = Target.Offset(1,0).Resize(8).EntireRow
        rng.Hidden = Not rng.Hidden
        Target.Value = IIf(rng.Hidden,"+","-") 'reset cell text
        Cancel = True 'don't enter edit mode in the clicked cell
    End If
End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。