Introducir datos con Lector de Códigos de Barras en Excel
Utilizo un lector de códigos de barras para hacer inventario sobre una hoja dispuesta de la siguiente forma:
Referencia en la columna A
Alternativa en la columna B
Cantidad en la columna C
Utilizo una macro sacada de este foro la cual así una celda al lector, busca el dato en la columna A y si lo encuentra suma 1 en la columna C. El problema es que en mi caso, hay artículos que son iguales pero tienen distintos códigos, por ejem., un rodamiento puede tener las siguientes referencias 420W10540 ó 420W10890. En la hoja se vería asi:
Referencia Alternativa Cantidad CELDA LECTOR
420W10540 420W10890 1 420W10540
El problema es que la macro unicamente busca en la columna A con lo cual, si leo con el lector la Alternativa, me dice que no existe, necesitaría que el lector pueda ver los datos de las columnas A y B y si encuentra en alguna de ellas sume 1 en la columna C.
La macro es la siguiente:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lector As String
lector = "e3" 'cambia esta celda por la celda en la que esta la lectora
If Not Application.Intersect(Target, Range(lector)) Is Nothing Then
buscar (Range(lector).Value)
Range(lector).Select
End If
End Sub
Private Sub buscar(dato As String)
Dim código As String, gasto As String
Dim n As Long
Dim fc As Long
Dim cc As Long
Dim fg As Long
Dim cg As Long
Dim encontrado As Boolean
Código = "g18" 'cambia esta celda por la celda en la que esta el emcabezado de código
gasto = "h18" 'cambia esta celda por la celda en la que esta el emcabezado de gasto
Range(código).Select
n = Range(código).CurrentRegion.Rows.Count + (Range(código).Row - 1)
fc = Range(código).Row + 1
cc = Range(código).Column
encontrado = False
fg = fc
cg = Range(gasto).Column
While fc <= n
If (Cells(fc, cc).Value = dato) Then
Cells(fc, cg).Value = Cells(fc, cg).Value + 1
encontrado = True
End If
fc = fc + 1
Wend
If encontrado = False Then
MsgBox ("código inexistente")
End If
End Sub