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

评论555字数 987阅读3分17秒阅读模式

技巧

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

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

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

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

3、如何进入事件代码?

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

动图演示

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 对象的变量。

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

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

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

展开查看代码

展开收缩

按键 代码
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 %

Target.Count2007Bug溢出错误

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

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

部分文章来源于网络  如有侵权请告知本人立即删除!

站长邮箱447800330@qq.com

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定