作者:绿色风
分类:
时间:2022-08-17
浏览:270
楼主 kevinchengcw |
Q: 如何用VBA代码控制回车后活动单元格跳转方向及区域? A: 利用如下代码配合,可以良好的实现这一效果,代码如下: thisworkbook中代码
- Private Sub Workbook_Open()
- Set OldRng = Sheet1.Range("a2") '初始化旧单元格地址变量
- End Sub
要设定跳转方向及范围的工作表中的代码
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Application.EnableEvents = False '关闭事件响应
- Application.OnKey "~", "Jump" '如果是按下大键盘的回车键则执行Jump程序,小键盘中回车符用"{ENTER}"表示
- Set OldRng = ActiveCell '将当前活动单元格地址赋值给旧单元格位置记录的变量
- Application.EnableEvents = True '打开屏幕刷新
- End Sub
模板中的代码
- Public OldRng As Range '设定记录旧单元格位置的公共变量
- Sub Jump()
- With ActiveSheet '于活动工作表中进行如下操作
- If Intersect(.Range("a2:j16"), OldRng.Offset(0, 1)) Is Nothing Then '如果上一次的活动单元格的右侧单元格不在设定的单元格范围中,则
- If Intersect(.Range("a2:j16"), Cells(OldRng.Row + 1, 1)) Is Nothing Then '判断下一行的第一个单元格是否在范围中,不在则跳到范围的第一个单元格
- .Range("a2").Select
- Else '在范围中则跳到下一行的第一个单元格
- .Cells(OldRng.Row + 1, 1).Select
- End If
- Else '如果右侧单元格在范围中则选中为活动单元格
- OldRng.Offset(0, 1).Select
- End If
- End With
- End Sub
附示例文件。
代码控制回车后活动单元格跳转方向及区域范围.rar |
2楼 wnianzhong |
学习了,谢谢! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一