我有用于扫描文件条形码的电子表格。我有宏可以返回扫描文件的日期,但是我也想避免条形码连续多次被扫描。
这是我的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:A3000")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Dim lc As Long
With Application
.EnableEvents = False
.ScreenUpdating = False
lc = Cells(Target.Row, Columns.Count).End(xlToLeft).Column
If lc = 1 Then
Cells(Target.Row, lc + 2) = Format(Now, "m/d/yyyy h:mm")
ElseIf lc > 2 Then
Cells(Target.Row, lc + 1) = Format(Now, "m/d/yyyy h:mm")
End If
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
例如,在60秒的间隔内多次扫描文件时,我需要放入计时器以返回msgbox的帮助。谢谢
您可以只使用一个公共变量来存储上次扫描时间+ 1分钟,如果当前时间小于该时间,则过早退出该子程序,如果这样做很好,只需再次运行代码并更新时间
Public NextScan as Double
Public Sub Test
If NOT NextScan < DateTime.Now Then Exit Sub
'YOUR CODE
NextScan = DateTime.Now + DateTime.TimeSerial(0, 1, 0)
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句