Ingreso De Existencias en Bodegas
Muchas veces, existen empresas en donde los registros de los
productos que ingresan se hacen de forma manual, es más, hay veces que se registran
en libros de papel, en vez de utilizar las tecnologías para facilitar su identificación.
Hay veces, en donde existen varias bodegas, por lo que cada bodega tiene que
tener su propio registro.
Me puse en
el caso, en donde se recibe la mercadería y hay que asignarle una bodega para
poder guardar los productos. Para esto, he creado un tablero, una macro que
permita crear un registro de inventario. Se puede observar en la siguiente
imagen:
En este tablero, se debe indicar la bodega, el tipo de
producto, e indicar el producto específico de acuerdo al tipo de producto. Además
se debe indicar la cantidad ingresada y el número de factura. Luego de haber
llenado estos datos, se procede a “Guardar”.
Primero que todo cada producto tiene asociado un precio y
cada registro se va guardando en la bodega correspondiente. Al apretar el botón
“Guardar”, se crea un registro en una hoja con el nombre de cada bodega, en
este caso existen 3, Los Leones, Irarrázaval y Quilicura.
Por ejemplo hay un ingreso de mercaderías a la bodega de
Quilicura, el tipo de productos es “Artículos”, abro la lista desplegable y
tengo la opción de ingresar “Chasis” o “Negatoscopios”, elijo “Chasis”. La
cantidad (3) y el número de la factura (56). Ahora pongo “Guardar” y me entrega
el siguiente registro:
Me entrega automáticamente
el Costo total de los productos, la fecha de ingreso, y me crea un ID de
registro, que es único por Bodega. Luego, si quiero hacer otro registro, se va
poniendo bajo el registro anterior.
Los códigos de la Macro son los siguientes:
Sub guardar()
Application.ScreenUpdating =
False
Sheets("Los
Leones").Unprotect
Sheets("Irarrazaval").Unprotect
Sheets("Quilicura").Unprotect
Dim bodega, producto, insumo, articulo, equipo As String
Dim cantidad, precio, factura, id As Integer
Dim fecha As Date
bodega =
Sheets("FormularioIngreso").Range("G3").Value
producto =
Sheets("FormularioIngreso").Range("G5").Value
insumo =
Sheets("FormularioIngreso").Range("G7").Value
articulo =
Sheets("FormularioIngreso").Range("G9").Value
equipo =
Sheets("FormularioIngreso").Range("G11").Value
cantidad =
Sheets("FormularioIngreso").Range("G13").Value
'precio =
Sheets("formularioIngreso").Range("G15").Value
factura =
Sheets("FormularioIngreso").Range("G17").Value
Sheets("DATOS").Range("C1").FormulaR1C1
= "=TODAY()"
fecha =
Sheets("DATOS").Range("C1").Value
Select Case insumo
Case "1"
insumo = "Películas"
Case "2"
insumo = "Químicos"
End Select
Select Case articulo
Case "1"
articulo = "Chasis"
Case "2"
articulo = "Negatoscopios"
End Select
Select Case equipo
Case "1"
equipo = "Reveladora"
Case "2"
equipo = "Digitalizador"
Case "3"
equipo =
"Impresoras"
End Select
precio =
Application.WorksheetFunction.VLookup(articulo,
Sheets("DATOS").Range("A10:C20"), 3, 0) * cantidad
id = 0
Select Case bodega
Case "1"
Sheets("Los
Leones").Activate
Sheets("Los
Leones").Range("A1").Select
'Selection.End(xlDown).Select
Do While Not
IsEmpty(ActiveCell)
ActiveCell.Offset(1,
0).Activate
id = id + 1
Loop
Select Case producto
Case "1"
With ActiveCell
.Value = "Insumo"
.Offset(0, 1).Value = insumo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "2"
With ActiveCell
.Value = "Artículo"
.Offset(0, 1).Value = articulo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "3"
With ActiveCell
.Value = "Equipo"
.Offset(0, 1).Value = equipo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
End Select
Case "2"
Sheets("Irarrazaval").Activate
Sheets("Irarrazaval").Range("A1").Select
'Selection.End(xlDown).Select
Do While Not
IsEmpty(ActiveCell)
ActiveCell.Offset(1,
0).Activate
id = id + 1
Loop
Select Case producto
Case "1"
With ActiveCell
.Value = "Insumo"
.Offset(0, 1).Value = insumo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "2"
With ActiveCell
.Value = "Artículo"
.Offset(0, 1).Value = articulo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "3"
With ActiveCell
.Value = "Equipo"
.Offset(0, 1).Value = equipo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
End Select
Case "3"
Sheets("Quilicura").Activate
Sheets("Quilicura").Range("A1").Select
'Selection.End(xlDown).Select
Do While Not
IsEmpty(ActiveCell)
ActiveCell.Offset(1,
0).Activate
id = id + 1
Loop
Select Case producto
Case "1"
With ActiveCell
.Value = "Insumo"
.Offset(0, 1).Value = insumo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "2"
With ActiveCell
.Value = "Artículo"
.Offset(0, 1).Value = articulo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
Case "3"
With ActiveCell
.Value = "Equipo"
.Offset(0, 1).Value = equipo
.Offset(0, 2).Value = cantidad
.Offset(0, 3).Value = precio
.Offset(0, 4).Value = fecha
.Offset(0, 5).Value = factura
.Offset(0, 6).Value = id
End With
End Select
End Select
Sheets("FormularioIngreso").Activate
Sheets("Los
Leones").Protect
Sheets("Irarrazaval").Protect
Sheets("Quilicura").Protect
Application.ScreenUpdating =
True
End Sub
No hay comentarios:
Publicar un comentario