0

我有这个 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,我用条形码捕获日期,然后它移动到 B4 而不是 A4,因此我可以开始扫描第二个框。

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

4

1 回答 1

3

也许您的条形码扫描仪会在每次输入后自动插入一个标签或输入按键。也许你的最后一行应该是。选择Target.Offset(1, -7)这 -7 列而不是 6 列可以补偿条码扫描器向右跳动的额外时间。或使用

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

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

于 2013-04-20T03:19:41.757 回答