繁体   English   中英

通过单击上方的单元格来隐藏和取消隐藏行(循环)

[英]Hide and unhide rows by clicking on a cell above (loop)

我是 excel VBA 的新手,我正在尝试一些代码以使用互联网自行学习。

我想通过单击隐藏单元格正上方的单元格来隐藏/取消隐藏行。 让我们说:

Cell D6 - Project title 1
Cell D7 - First row of Project1 contents
.
.
.
.
Cell D26 - Last row of Project1 contents
Cell D27 - Project title 2
Cell D28 - First row of Project2 contents
.
.
.
.
Cell D47 - Last row of Project2 contents

我希望能够通过单击单元格 D6 来隐藏/取消隐藏第 7 到 26 行。 然后单击 D27 隐藏/取消隐藏第 28 到 47 行。我在同一张纸上有 50 个项目标题和内容。

我尝试使用工作表选择更改,但我的代码不起作用。 谁能告诉我怎么做?

谢谢 !

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim A As Range
Dim B As Range

B = A.Rows + 1 & ":" & A.Rows + 20

If A = Target.Address Then

    Rows(B).EntireRow.Hidden = Not Rows(B).EntireRow.Hidden

End If

Application.ScreenUpdating = True
End Sub

您需要稍微改进一下,但这一条线将完成大部分工作。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Target.Offset(1).Resize(20).EntireRow.Hidden = Not Target.Offset(1).Resize(20).EntireRow.Hidden

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM