Hola
Me presento, soy programador experto en la paquetería Microsoft Office desde hace más de 15 años, he desarrollado programas de inventarios, puntos de venta, compras, control de gastos, planeación, hoteles, control de radio taxis, etc. tanto para personas físicas como para empresas y quisiera ayudarte con mis comentarios.
Primero; te recomiendo que en vez de usar Excel, utilices Access para crear aplicaciones de escritorio ya que Excel fue desarrollado para manejar hojas de calculo, no para ser una base de datos y/o aplicación. Es cierto que Excel te permite crear y programar formularios (o ventanas) y puedes utilizar VBA para programar macros, sin embargo no fue fabricado para que se usara como aplicación y base de datos al mismo tiempo, para ello Microsoft desarrollo Microsoft Access que si te permite tanto crear bases de datos.
Microsoft Access te permite crear tablas, consultas, formularios, informes, macros, módulos y módulos de clases. Con todos estos elementos puedes crear tanto una base de datos como una aplicación (o programa) de escritorio de una manera sencilla pero profesional, e incluso puedes compartir la base de datos en una computadora para que varios usuarios se puedan conectar a dicha base de datos desde otras computadoras, cosa que Excel no te permite, ya que si un usuario abre un archivo de Excel, los demás usuarios deben de esperar a que el primer usuario cierre dicho archivo de Excel para poder utilizarlo.
Otros puntos a considerar:
1. Excel solo te permite tener 1,048,576 filas por hoja, mientras que Access no tiene limite de filas (pero si tiene un limite de tamaño de base de datos que es de 2GB que equivale a millones de filas).
2. Excel te permite tener información duplicada, Access te puede impedir que dupliques información si así lo requieres.
3. Excel no te puede crear relaciones entre registros (o filas) pero Access si te permite tener la información relacionada.
4. Excel no te permite crear consultas de una o varias tablas y filtrar la información para poder consultarla cuando lo requieras, pero Access si te permite crear consultas tanto sencillas como complejas.
5. Excel no tiene la capacidad de crear y utilizar informes, pero Access sí.
6. Excel no te permite crear formularios conectados a tablas, pero Access sí.
7. Excel no te permite centralizar la información para que varios usuarios la modifiquen al mismo tiempo, pero Access sí te lo permite.
Conclusión:
En resumen, Excel es buenísimo para uso personal, para crear graficas o dashboard, para crear robots o macros que realizan una serie de instrucciones de manera automática, para crear tablas dinámicas y pequeñas listas de datos (pero no bases de datos como tal), etc. Pero si lo que necesitas es un sistema que te guarde la información de compras, inventarios, pagos, ventas, etc. definitivamente tienes que usar otro tipo de software para desarrollar una verdadera aplicación de gestión como Access (o Visual Studio y SQL Server), estos programas te permiten crear soluciones robustas para prácticamente cualquier tipo de necesidad o negocio.
Finalmente:
Pero si deseas seguir usando Excel y respondiendo a tu pregunta lo que tendrías que hacer es lo siguiente:
1. Al guardar una compra tendrías que insertar una nueva fila en la hoja ENTRADAS en la cual tendrías que guardar todos los datos de los items (o líneas de productos) pero por cada línea tendrías que estar repitiendo la información el encabezado de la compra, cosa que la verdad no es recomendable por muchas razones pero eso tendría que explicarte en otro momento).
2. En la hoja de ARTICULOS. en la columna STOCK tendrías que usar varias formula anidadas para que te sumaran los artículos que coincidan con el código de producto que exista tanto en las ENTRADAS como en las SALIDAS.
Y eso seria todo, pero recuerda que no es recomendado usar Excel para desarrollar este tipo de aplicaciones o soluciones.
Espero que estos comentarios te sean de utilidad, te dejo mis datos de contacto por si requieres una asesoría más personalizada o si deseas los servicios de consultoría.
https://access-solutions.webnode.mx/
[email protected]
Saludos.