龙空技术网

Excel vba 如何捕获键盘输入键,一个方法你就明白

江觅 449

前言:

此时你们对“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 键盘事件