我正在尝试让 Excel 作为库存扫描阅读器。我在扫描时遇到问题,因为当我扫描时它会不断添加到列 A,即使它是重复的,我希望它能够识别扫描的项目与上次相同并添加到列数量。如果有人可以帮助我如何编写代码,那就太好了!
图片——它不让我放一张,但 COL A 是条形码,COL B 是描述,COL C 是数量。
将此代码放入工作表代码模块中(右键单击选项卡并选择“查看代码”)。
您的列表标题位于 A4(条形码)B4(描述)C4(计数)中。
选择单元格 A1 并开始扫描。如果它在列表中找到匹配项,它将更新计数,如果没有,则会添加一个新行。我只是通过输入值进行测试,但只要扫描仪在每次扫描时发送 {enter} ,就应该以相同的方式工作。
Private Sub Worksheet_Change(ByVal Target As Range)
Const SCAN_CELL As String = "A1"
Const RANGE_BC As String = "A5:A500"
Dim val, f As Range, rngCodes As Range
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range(SCAN_CELL)) Is Nothing Then Exit Sub
val = Trim(Target.Value)
If Len(val) = 0 Then Exit Sub
Set rngCodes = Me.Range(RANGE_BC)
Set f = rngCodes.Find(val, , xlValues, xlWhole)
If Not f Is Nothing Then
With f.Offset(0, 2)
.Value = .Value + 1
End With
Else
Set f = rngCodes.Cells(rngCodes.Cells.Count).End(xlUp).Offset(1, 0)
f.Value = val
f.Offset(0, 1).Value = "enter description"
f.Offset(0, 2).Value = 1
End If
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)