【发布时间】:2013-06-03 12:46:08
【问题描述】:
问题出在这里:我有一台激光扫描仪,它可以读取条形码并在成功读取后反刍一个值。发生这种情况时,序列号(约 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:这是我的 same problem. 的另一个人
【问题讨论】:
-
您不需要在写入之前激活单元格。
If-EndIf中的3行可以写成Target.Offset(0, 1).Value = Now -
另外,您不需要
"If data pasted" statement.,当您将数据粘贴到单元格中时,上述Worksheet_Change事件也会触发。 -
@SiddharthRout 问题是当输入数据时,数据的行为就像是被放入公式栏中而不按“Enter”,所以它不是“真正的”粘贴。跨度>
-
你到底想达到什么目标?
-
@user2447846:你能把解决方案放在下面的答案中,特别是帮助你实现你想要的设置吗?谢谢。