光标我们可以通过鼠标点击实现移动,也可以使用键盘的方向键来移动,这在Excel中的移动方法,和其它地方的移动方法一样!
据网友所拖,本文要实现的一种功能是,如果Excel中的光标,超出有效数据的最大列,那么,光标就会自动移动到A列中的A1位置。
如上图一样,有效数据范围是A1:C6,在这个范围内,你可以将光标定位到任何一个单元格。但是,只要光标超过C列的范围,比如试图将光标移动到D列、E列或者更大的其它列,只要超过C列,那么,光标就自动移动到A1,这如何才能做到呢?我们必须通过VBA来实现,实现方法如下:
如下图,在工作薄中的下面找到Sheet1并点击右键,在弹出的快捷菜单中选择“查看代码”。
弹出代码输入窗口。像下图一样。
上图中,有两个位置得注意,设置好了,才能输入代码,首先选择“Worksheet”,接着在其右方选择“SelectionChange”,这两个事件分别代码的含义是,前者是工作表,后者是改变选择。意思就是,在工作薄中,如果你移动光标,改变选择的范围,那么,就触发事件代码,而代码则如上图输入的代码一样,很简单,只需要几行代码而已。
知识拓展:代码说明
L = Sheet1.UsedRange.Columns.Count这个代码的作用是,获取工作表 Sheet1有效数据的最大列。
x = ActiveCell.Column这个代码的功能是,获取活动单元格所处的列的序号。
If (x > L) Then
Sheet1.Range("A1").Select
End If
上面这个判断语句的作用是,如果被点击的单元格所在的列大于有效数据最大的列的序号,那么,就让工作表自动选择A1单元格。