【问题标题】:VBA Excel Code Barcode ScanningVBA Excel 代码条码扫描
【发布时间】:2013-04-21 02:15:52
【问题描述】:

我有这个 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,因此我可以开始扫描第二个盒子。

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

【问题讨论】:

  • 当您在 G 列中扫描时,代码是唯一一次掉下来,还是每次扫描时都会跳过一列?如果它只是最后一列,为什么不明确告诉它转到 A 列并且该行比以前多 1 呢?如果它在任何列上都不起作用,那就另当别论了....类似“ElseIf Not Intersect(Target, Columns(7)) Is Nothing Then Range("A" & Target.Row + 1) .Select" 作为最后的 ElseIf 行。
  • 通常,如果您查看条码扫描仪的用户手册,将会有一些特殊的条码可供扫描,这些条码配置了与条码一起发送的任何前缀或后缀字符。使用这些来关闭作为后缀发送的 TAB 字符

标签: excel excel-2010 vba


【解决方案1】:

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

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

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

【讨论】:

  • 请不要发布指向您的 YouTube 频道的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多