Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5278|回复: 5

[已解决]为什么Application.SendKeys "{Esc}" 不起作用?

[复制链接]
发表于 2015-9-16 22:44 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2015-9-17 16:36 编辑

在“明细”表的A2至A4中双击,为什么Application.SendKeys "{Esc}" 不起作用?请老师们看看,谢谢!
不执行“打印”模块是正常的,执行“打印”模块就不不起作用了,光标在双击的地方闪闪了,不知为什么?请老师们看看,谢谢!

不执行“打印”模块
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)  '双击单元格执行
If T.Column = 1 And T.Row > 1 And T.Row <= Sheet2.Range("A65536").End(xlUp).Row Then
   If T <> "" Then
      Sheet3.Range("B1") = T
      Call 记录
      Call 打印
   End If
End If
Application.SendKeys "{Esc}"
End Sub

执行“打印”模块
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)  '双击单元格执行
If T.Column = 1 And T.Row > 1 And T.Row <= Sheet2.Range("A65536").End(xlUp).Row Then
   If T <> "" Then
      Sheet3.Range("B1") = T
      Call 记录
     ' Call 打印
   End If
End If
Application.SendKeys "{Esc}"
End Sub

用户电量电费统计.rar (15.09 KB, 下载次数: 10)
发表于 2015-9-17 09:05 | 显示全部楼层
1)1楼的说明,反了吧?
第1段代码,不执行“打印”模块,实际是执行
第2段代码,执行“打印”模块,实际是不执行


2)有没有下句,有什么区?我的电脑没连打印机
Application.SendKeys "{Esc}"


3)什么叫做闪闪了?
回复

使用道具 举报

 楼主| 发表于 2015-9-24 21:10 | 显示全部楼层
本帖最后由 qdzbk 于 2015-9-24 21:12 编辑
爱疯 发表于 2015-9-17 09:05
1)1楼的说明,反了吧?
第1段代码,不执行“打印”模块,实际是执行
第2段代码,执行“打印”模块,实际 ...


1)1楼的说明,反了吧?
第1段代码,不执行“打印”模块,实际是执行
第2段代码,执行“打印”模块,实际是不执行

回复:对不起!是说反了。

2)有没有下句,有什么区?我的电脑没连打印机
Application.SendKeys "{Esc}"

回复:没这句,怎么能退出光标在单元格内的输入状态?这正是我要解决的问题,请老师指教,谢谢!

3)什么叫做闪闪了?

回复:就是双击后光标在单元格内一闪一闪的等待输入的状态。



回复

使用道具 举报

发表于 2015-9-25 09:54 | 显示全部楼层    本楼为最佳答案   
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)  '双击单元格执行
    If T.Column = 1 And T.Row > 1 And T.Row <= Sheet2.Range("A65536").End(xlUp).Row Then
        If T <> "" Then
            Application.ScreenUpdating = False
            Sheet3.Range("B1") = T
            Call 记录
            Call 打印
            Application.SendKeys "{Esc}"
        End If
    End If
End Sub



移动了Application.SendKeys "{Esc}"的位置,加了句禁用屏幕刷新。你觉得可以了吗?
回复

使用道具 举报

 楼主| 发表于 2015-9-25 22:31 | 显示全部楼层
本帖最后由 qdzbk 于 2015-9-25 22:34 编辑
爱疯 发表于 2015-9-25 09:54
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)  '双击单元格执行
    I ...

从语句上看没问题,但运行起来还是老样子,不执行“打印”是可以的,请老师运行测试一下,谢谢!!!
      
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Range, Cancel As Boolean)  '双击单元格执行
    If T.Column = 1 And T.Row > 1 And T.Row <= Sheet2.Range("A65536").End(xlUp).Row Then
        If T <> "" Then
            Application.ScreenUpdating = False
            Sheet3.Range("B1") = T
            Call 记录
            'Call 打印       ' 这句不执行是正常的,但执行了就不行了
            Application.SendKeys "{Esc}"
        End If
    End If
End Sub
     
回复

使用道具 举报

发表于 2015-9-25 22:43 | 显示全部楼层
gg34g.gif


前面我测试过,又测试了1次。

不知你说的不正常是什么,我这里就是这样的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 22:21 , Processed in 0.345946 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表