ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键

技巧

1、VBA窗口中ThisWorkbook表示当前工作簿中代码

图片[1]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

2、快速进入当前工作表代码区,在工作表名称点右键查看代码

图片[2]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

3、如何进入事件代码?

图片[3]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

动图演示

图片[4]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

代码区

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Not Target.Address Like "*:*" And Target.Column = 2 Then
        '选定的单元格区域地址不像带冒号(带冒号为多单元格区域)并且在第2列
        If Target.Value <> "" Then '单元格值不为空
            SendKeys "{F2}"
            '模拟发送F2进入编辑状态
        End If
    End If
    
End Sub

改变单元格触发事件 Worksheet.SelectionChange 事件

当工作表上的选定区域发生改变时发生此事件。
语法

表达式.SelectionChange(Target)

表达式 一个代表 Worksheet 对象的变量。

图片[5]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

发送按键(模拟键盘)SendKeys 语句

图片[6]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

展开查看代码

[s]

[p]

按键 代码
BACKSPACE {BACKSPACE}, {BS}, 或 {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} 或 {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER}或 ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} 或 {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

 

为了指定那些与 SHIFT、CTRL 及 ALT 等按键结合的组合键,可在这些按键码的前面放置一个或多个代码,这些代码列举如下:

按键 代码
SHIFT +
CTRL ^
ALT %

[/p]

Target.Count2007Bug溢出错误

为了避免此BUG,可使用上方代码替换Count。

图片[7]-ExcelVBA | 009 单元格自动进入编辑状态 事件入门 发送按键-习听风雨

「如果文章对您有用,欢迎点赞分享。」
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容