前言:
此时你们对“vba键盘输入”大致比较着重,姐妹们都需要知道一些“vba键盘输入”的相关文章。那么小编在网上汇集了一些对于“vba键盘输入””的相关资讯,希望姐妹们能喜欢,你们快快来了解一下吧!No.1
Excel vba 给出了键检测的方法,也就是当我们操作键盘的时候,应用会返回刚刚键入的键盘代码,如此就可以判断出,哪个键被按下了。
有什么用呢?只不过是装一下,如何快捷地使用计算机。
要知道很久以前的电脑是没有鼠标来操作的,完全用键盘进行,如果想要学电脑,记住键盘按键位置是一个考验,更大的考验就是各种组合键代码的功能。
像Linux操作一样,不是容易操作的。
本节,就介绍一下,Excel是如何根据键盘输入来进行自定义功能的。
这样,我们会用到上图的方法:Application.Onkey()
这个方法有两个参数,一个是组合键定义,一个是要执行的过程名,都是字符串。
下图为,组合键定义规则,没有技巧,记住就可以,实在记不住就收藏。
示例:
Application.OnKey "{up}", "DoUP" '向上键
本示例给向上键定义了一个过程“DoUp”。
DoUp在模块中写一个过程,随便你想执行什么功能。
下面示例做了四个过程,分别为上、下、左、右键。
也就是说,当我们在表中单击上下左右键的时候,分别执行不同的过程。
执行效果如下图所示,有点乱,执行过程功能为,每上下移动就添加一个活动单元格的Top值,左右移动添加活动单元格的Left值,顺便更改一下背景颜色。
没有实际意义,只是作为功能演示。
No.2
代码
在Worksheet_Activate事件中添加如下代码:
代码很清晰,也很简单,分别给上、下、左、右键定义过程。
空格键也定义了一个清除过程。不能无限制添加,也需要删除一些内容。
下图为所有事件的过程,新建一个类,写进去。
Sub DoUp()'向上键 With ActiveWindow.ActiveCell.Offset(-1, 0) .Value = ActiveCell.Top & " Up" ActiveWindow.ActiveCell.Offset(-1, 0).Select End WithEnd SubSub DoDown())'向下键 With ActiveWindow.ActiveCell.Offset(1, 0) .Value = ActiveCell.Top & " Down" ActiveWindow.ActiveCell.Offset(1, 0).Select .Interior.Color = RGB(211, 21, 222) .Font.Color = QBColor(9) End WithEnd SubSub DoLeft())'向左键 With ActiveWindow.ActiveCell.Offset(0, -1) .Value = ActiveCell.Left & " Left" ActiveWindow.ActiveCell.Offset(0, -1).Select .Interior.Color = RGB(211, 201, 222) .Font.Color = QBColor(5) End WithEnd SubSub DoRight())'向右键 With ActiveWindow.ActiveCell.Offset(0, 1) .Value = ActiveCell.Left & " Right" ActiveWindow.ActiveCell.Offset(0, 1).Select .Interior.Color = QBColor(15) End WithEnd SubSub DoClear())'空格键 With ActiveWindow.ActiveCell .Clear .ClearFormats End WithEnd Sub
当表被激活的时候就给键盘上下左右进行功能设置,这样做有一个问题,也就是说原来的上下左右被新赋值的过程取代了,每当我们按下这四个键,可能就不是原来定义的单元格选择方式。
用如下方法来进行恢复:
Application.OnKey "{up}", "" '向上键Application.OnKey "{Down}", "" '向下键Application.OnKey "{Left}", "" '向上键Application.OnKey "{Right}", "" '向下键Application.OnKey "{BS}", "" '空格
也就是把过程去掉就可以恢复为Excel默认值。
这个功能,使用方法还是很简单的,对应键盘代码进行设置就可以了。
欢迎关注、收藏
END
标签: #vba键盘输入 #vba用键盘按键 #vba键盘事件keydown #vba 键盘事件