Control de stock

Que tal estimado experto en excel fíjate que estoy haciendo un control de inventario en excel pero tengo esta duda quiero que en la celda que me da los datos de exixtencias o stock, quiero que automáticamente me lo pase a otra celda de otra hoja y el problema con el que me enfrento es que cuando le pongo alguna entrada o salida al inventario pues la columna obviamente se va recorriendo hacia abajo, ya que crece mi historial de entradas y salidas, entonces cual función o fórmula debo utiliza para que cuando me de el nuevo valor de stock en la nueva celda que es por ejemplo de F5 a F6, y este nuevo valor que me de se muestre siempre automáticamente en la misma celda de la otra hoja, gracias por tu atención y tu página espero tu respuesta

1 respuesta

Respuesta
1
Esto lo puedes hacer con una macro que se active al activar la hoja de consulta. Para darte los códigos necesito los siguientes datos:
1) Nombre de la Hoja y dirección de la celda donde quieres que se ubique la cantidad de saldo
2) Nombre de la hoja y nombre de la columna en la que se encuentra el dato que necesitas en la hoja anterior.
3) ¿Siempre va a ser la ultima fila la que contenga el valor buscado?
Pásame estos datos y yo te doy los códigos para que excel haga lo que necesitas
Que tal estimado experto muchas gracias por tu atención mira la idea es que voy a tener hojas y en cada una voy a poner el historial de cada producto y quiero que el ultimo valor de cada producto me lo de en una hoja especifica es donde voy a tener registrado en una columna todos los productos y en la celda contigua a cada producto es donde quiero tener el ultimo valor de stock ejemplo STOCK
PRODUCTOS
Producto 1 454
Producto 2 352
Producto 3 234
Y exactamente siempre voy a querer que me muestre el ultimo valor de stock.
Ya tengo mi hoja de inventario con fórmulas solo necesito lo que ya mencione la hoja donde me va a dar el valor buscado se llama inventario, columna es F y la hoja donde quiero que me la muestre se llama control de stock y la columna es la C por ejemplo celda C4 va a ser una macro para cada producto pero con un ejemplo claro que tenga yo puedo hacer lo siguiente y si es con fórmulas esta mejor pero si con fórmulas no se puede, con macros esta bien, gracias por tu atención y tu tiempo
De lo que entiendo esta macro te puede ayudar a que hagas la propia:
Sub Actualiza()
Dim Comprobar, Contador
Comprobar = True: fila = 1 ' Inicializa variables.
Sheets("Control").Select
Do ' Bucle externo.
Do While Contador < 65000 &#39; Bucle interno.
fila = fila + 1 &#39; Incrementa el contador.
If Range(&quot;A&quot; & fila) <> &quot;&quot; Then &#39; Si la condición es verdadera.
hoja = Range(&quot;A&quot; & fila).Value
Sheets(hoja).Select
k = Range(&quot;F&quot; & Cells.Rows.Count).End(xlUp).Row
stock = Range(&quot;F&quot; & k).Value
Sheets(&quot;Control&quot;).Select
Range(&quot;B&quot; & fila).Value = stock
Else
Comprobar = False &#39; Establece el valor a False.
Exit Do &#39; Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False &#39; Sale inmediatamente del bucle externo.
End Sub
Para mi ejemplo el nombre del producto estas desde B1 en adelante, las cantidades las quiero poner alado, es decir, de C1 en adelante.
Los datos del stock están en la columna F, y claro siempre busca la ultima fila llena.
El nombre del producto que está en la columna B, es el mismo texto con el que nombro cada hoja que controla el stock.
Lo tengo para que la corras desde un botón que podrías llamar actualizar, pero tambien la podrías hacer para que corra cada vez que activas la hoja control, eso depende de ti, solo debes cambiar el tipo de macro y colocarla en la hoja que deseas que al activarse se corra, para este caso &quot;Control&quot;
No olvides finalizar la pregunta.
Que tal mi estimado experto, en que parte de excel voy a poner todos esos textos que me escribes, yo te agradezco mucho tu paciencia ya que no se mucho de excel y esta configurado en español para ver si puedes mandarme los textos en español por favor gracias mi estimado por tu ayuda realmente se nota que eres una persona que tiene amplios conocimientos de excel.
¿Qué versión de Excel tienes?
Que tal te agradezco mucho tu atención y tu tiempo mira en este momento tengo excel 2003 pero pronto cambiaremos a excel 2007
Presiona alt+F11, y te aparecerá una pantalla de visual basic.
Luego vas a insertar y escoges modulo, esto hará que aparezca una pantalla en blanco en la que copiaras los códigos que te pase al inicio:
Sub Actualiza()
Dim Comprobar, Contador
Comprobar = True: fila = 1 &#39; Inicializa variables.
Sheets(&quot;Control&quot;).Select
Do &#39; Bucle externo.
Do While Contador < 65000 &#39; Bucle interno.
fila = fila + 1 &#39; Incrementa el contador.
If Range(&quot;A&quot; & fila) <> &quot;&quot; Then &#39; Si la condición es verdadera.
hoja = Range(&quot;A&quot; & fila).Value
Sheets(hoja).Select
k = Range(&quot;F&quot; & Cells.Rows.Count).End(xlUp).Row
stock = Range(&quot;F&quot; & k).Value
Sheets(&quot;Control&quot;).Select
Range(&quot;B&quot; & fila).Value = stock
Else
Comprobar = False &#39; Establece el valor a False.
Exit Do &#39; Sale del bucle interno.
End If
Loop
Loop Until Comprobar = False &#39; Sale inmediatamente del bucle externo.
End Sub
Prueba y me avisas
Hola que tal mi estimado experto ya hice lo que me dijiste y la macro lo que hace solamente al ejecutarla me manda a la hoja de control pero no me manda ningún valor solo ma transporta a la hoja de control sin valores entonces no se que más haga falta mira lo que quiero es ejemplo:
Hoja 1 (producto a) hoja 2 (producto b) hoa 3 de control(control)
Producto a 54 producto b 76 producto a 54
Producto b 76
Entonces lo que quiero es que al meter yo algunvalor entrada o salida en las hojas de productos quiero que me actualica en la hoja de control busando el ultimo valor del stock o sea la ultima celda gracias por tu tiempo.
¿Desde qué fila en la hoja de Control tienes datos?
¿No te genero ningún error al actualizar?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas