3

这就是问题所在:我有一台激光扫描仪,它可以读取条形码并在成功读取后反刍一个值。发生这种情况时,序列号(约 20 位数字)将粘贴到活动单元格中。 已粘贴,但未输入。我想知道是否有任何方法可以在私有子中包含某种“如果数据已粘贴”语句。

代码的第二个目的是为右侧列中的每个条目添加时间戳,如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then        
    ActiveCell.Offset(0, 1).Activate
    ActiveCell.Value = Now()
    ActiveCell.Offset(1, -1).Activate
    End If

End Sub

数据不会快速输入,因此相对单元格引用应该不是问题。
如果您看到任何其他可以改进的地方,请不要犹豫提及!

编辑:因为有些人提出来了,所以这不是“简单”的粘贴;数据被放入公式栏中,但未输入。

编辑2:这是另一个有我同样问题的人。

4

1 回答 1

0

条码阅读器只是键盘的替代品,它可以输入从条码中读取的字母数字。问题是它没有输入回车键。您可能想检查是否有办法在条形码阅读器中激活此功能。此处示例:https ://docs.symbol.com/KanisaPlatform/Publishing/444/ADC-01244_f.SAL_Public.html

不存在由 Excel 向 VBA 公开以拾取击键并最终在编辑栏中发生更改的事件。

根据此来源:http ://www.excelforum.com/excel-programming-vba-macros/686972-key-press-event-in-he-formula-bar.html ,您无法捕获键入字符的按键事件在公式栏中。相同的来源描述了一种可能的方法,涉及通过 Win32 API 破解您的方式来监听到达公式栏窗口的事件。那里没有什么令人兴奋的。

于 2013-07-19T11:54:07.057 回答