作者:绿色风
分类:
时间:2022-08-18
浏览:144
楼主 kevinchengcw |
利用工作表selectionchange事件制作了一个小程序,代码如下:
- Public OldCell As Range '设定记录上次活动单元格位置的公共变量
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- If Not OldCell Is Nothing Then '如果已经有上次单元格的记录,则
- Select Case ActiveCell.Column - OldCell.Column '判断当前活动单元格与上次活动单元格的列位置关系
- Case Is > 0 '如果是大于则右侧列取消隐藏
- Range(Cells(1, 1), Cells(1, ActiveCell.Offset(0, 1).Column)).EntireColumn.Hidden = False
- Case Is < 0 '如果是小于则隐藏右侧列
- Range(Cells(1, ActiveCell.Offset(0, 2).Column), Cells(1, Columns.Count)).EntireColumn.Hidden = True
- Case Else '其他情况无操作
-
- End Select
- Select Case ActiveCell.Row - OldCell.Row '判断当前活动单元格与上次活动单元格的行位置关系
- Case Is > 0
- Range(Cells(1, 1), Cells(ActiveCell.Offset(1, 0).Row, 1)).EntireRow.Hidden = False
- Case Is < 0
- Range(Cells(ActiveCell.Offset(2, 0).Row, 1), Cells(Rows.Count, 1)).EntireRow.Hidden = True
- Case Else
-
- End Select
- End If
- Set OldCell = ActiveCell '将当前活动单元格地址赋值给记录变量
- End Sub
工作表的行列隐藏会与活动单元格的位置关联起来,共进共退。(纯娱乐) 附示例文件。 与活动单元格共进退的工作表.rar |
2楼 wnianzhong |
收藏了,谢谢! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一