Я не эксперт VBA, но я работаю над временным управлением запасами, используя excel с помощью сканера штрих-кода. В настоящее время я использую код ниже (который я взял здесь quantity macro excel for inventory), чтобы добавить qty на рабочий лист, например. barcodeA сканирует 3x автоматически регистрируется как 3 шт. на моем листе. Мне нужен способ включения количества вычитания. Я бы хотел, чтобы условия ff применились:Код для инвентаря excel для подсчета возвращается
Cell "A1" = scan cell to add qty to inventory
Cell "B1" = scan cell to remove qty from the inventory
Любые советы по настройке кода? Я пытаюсь настроить несколько дней, но все, что я делаю, похоже, не работает.
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, 1)
.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 = 1
End If
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End Sub
Что делать, если я хочу, чтобы первая запись будет помещена в ячейке B10 вместо а5? Я бы предположил, что мне просто нужно изменить параметр RANGE_BC, однако он, похоже, не работает? – user5018013