VBA Excel代码条码扫描

我有这个Excel电子表格,我正在使用条形码扫描器,每次我用条形码扫描器捕获的东西光标跳过一列。

在这里输入图像说明

例如,在A3单元格中,信息被捕获,所以光标将移动到C3,在C3我捕获另一个条形码,光标将移动到E3等; 一旦在G3,应该回到A4捕捉另一个盒子。

这是我的代码…..

Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Whoa Application.EnableEvents = False If Not Target.Cells.CountLarge > 1 Then If Not Intersect(Target, Columns(1)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(2)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(3)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(4)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(5)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(6)) Is Nothing Then Target.Offset(, 1).Select ElseIf Not Intersect(Target, Columns(7)) Is Nothing Then Target.Offset(1, -6).Select End If End If Letscontinue: Application.EnableEvents = True Exit Sub Whoa: MsgBox Err.Description Resume Letscontinue End Sub 

当我手动(没有扫描仪),但使用条形码扫描仪,它返回到B列时,它工作。

例如,在G3中,我用条形码捕捉date,然后移动到B4而不是A4,因此我可以开始扫描第二个框。

我需要一些帮助来开发正确的代码,所以我可以使用我的扫描仪来捕获我的小仓库的库存

也许你的条形码扫描器自动插入一个标签或每次input后input击键。 也许你的最后一行是Target.Offset(1, -7)这个-7列而不是6可以补偿条形码扫描器右边额外的时间。 或者使用

 cells(Target.row+1,1).Select 

对于麻烦的最后一行代码,这告诉它select当前行加1,并确定列A或1。