excel - 当单元格发生更改但数据尚未输入时,如何运行 Excel 宏?

标签 excel input paste vba

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

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

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:这是另一个人和我的same problem.

最佳答案

条形码阅读器只是键盘的替代品,用于输入从条形码中读取的字母数字。问题是它没有输入回车键。您可能想检查是否有办法在条形码阅读器中激活此功能。示例如下: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 监听进入公式栏窗口的事件。里面没什么令人兴奋的。

关于excel - 当单元格发生更改但数据尚未输入时,如何运行 Excel 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897057/

相关文章:

javascript - jquery 根据值长度更改输入掩码模板

javascript - 移动设备上的 onChange 未读取文件输入文件

excel - 在 vba 上将值粘贴到另一个工作簿工作表上时出现问题

excel - 导入单元格的值以用于数组中的文本到列分隔时,出现类型不匹配错误

excel - 如何在列中找到第一个非零值?

c++ - 如何识别输入组合?

javascript - 启用粘贴到输入[类型 ='date']?

objective-c - 如何在 OS X 上以编程方式粘贴?

vba - 双击启动宏

excel - 使用 ClosedXML 将 Excel 工作表读入 DataTable