Rectificar esta macro para Proveedores

Tengo esta macro, para el listado de artículos en existencia por unidades:

'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
' contabilizar salidas
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
On Error Resume Next
With Sheets("Listado")
Sheets("Listado").Unprotect Password:=1
For A = 10 To 41
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
' Contabilizar por articulos salidas unidades
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
codigo = Cells(A, 3)
cantidad = Cells(A, 5)
rw = .Range("D10:D65536").Find(codigo, LookAt:=xlWhole).Row
.Cells(rw, 13) = .Cells(rw, 13) * 1 + cantidad * 1
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Y necesitaría que cuando, hago una devolución a fabrica, me hiciese la suma a la inversa, osea:

Cuando pongo, -88, me lo reste del inventario.

1 Respuesta

Respuesta
1

Si tienes 10 en la celda y quieres ingresar 50

.Cells(rw, 13) = .Cells(rw, 13) * 1 + cantidad * 1

celda = 10 + 50

celda = 60

Si tienes 60 y quieres sacar -20

.Cells(rw, 13) = .Cells(rw, 13) * 1 + cantidad * 1

La fórmula es la misma, solamente que la cantidad tiene que ser -20

celda = 60 + -20

celda = 40

Entonces no tienes que cambiar la fórmula, cuando son entradas tienes que poner la cantidad en positivo y cuando son devoluciones tienes que poner la cantidad en negativo, es decir, en la celda (cells(A, 5)), tiene que haber valores negativos.

Si vas a poner solamente números positivos, entonces necesitas poner en otra columna si es "entrada" o si es "salida", si es "salida" entonces tienes que multiplicar cantidad *-1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas