Saltar al contenido

Archivo para control de Stock


Enigma25

Recommended Posts

  • Respuestas 217
  • Created
  • Última respuesta

Voy comparando códigos y mejorando según mi interés, por ejemplo a mi no me interesa eso de pedro insertar el precio de la salida, no lo uso, lo demás si tal como el Resumen anual que también me dá el resumen mensual por años.

En futuro vere que me hace mas falta, creo que una hoja con factura o recibo diseñada (ya la tengo) para dar salidas, ventas o notas de entega y que esta a su ves, vaia dando salidas de las cantidades de productos

Enlace a comentario
Compartir con otras webs

Hola JoaM

Ni idea. Por lo general cuando agrego un texbox, el SpecialEffect lo hago con fmSpecialEffectBump o fmSpecialEffectEtched y ese tiene el fmSpecialEffectSunken. Le has visto algun codigo especial?

Enlace a comentario
Compartir con otras webs

@[uSER=98799]Enigma25[/uSER] ,, si que mejoraste el archivo y me da gusto.. me sirvio de mucho para automatizar algunas cosas. aver si se podria acceder y retroalimentar a una database desde access y ya no al excel ..

Ss.

Enlace a comentario
Compartir con otras webs

Concuerdo con lo dicho por el amigo pajuma.

En lo personal, no uso directamente el Access para tradajar. De hecho no se nada al respecto que no sea por medio de los videos que logré ver en internet y haciendo uno que otros ejercicios. Lo empleo mas que todo para manejar informacion, solo eso.

Espero que quizas algun dia lo pueda entender mejor.

Enlace a comentario
Compartir con otras webs

Buen dia Pedro14387

A continuacion adjunto el archivo con unas mejoras que quias sean de ayuda.

El mismo cuenta ahora en el formulario de Resumen Anual, una opcion para hacer el reportes de movimientos separados por columnas (Meses Salidas) en donde podrás ver en detalle el total saliente de Entradas asi como tambien los totales separador en columnas por Salidas.

La otra opcion es el Análisis ABC en donde se podrá clasificar por el metodo ABC los items que forman parte de tu inventario. Dandole la improtancia a aquellos que le dan mayor ingreso y controlandolos de una forma mas importante en cuanto a inventarios se refiere.

Ojalá puedas verlo y me des tus apreciaciones. De todos modos no se si me confundí nuevamente con el archivo que te habia modificado anteriormente pero si lo es, me alegraré.

Saludos.

Control de Stock.zip

Enlace a comentario
Compartir con otras webs

Rayos, no paras nunca y cada ves mejoras para mejor.

Voy a tratar de integrar eso en el mio, A VER SI PUEDOOOOOOOOOO, si no, ya se donde vives jejejeee.

Solo las gracias, se sabe lo insuficiente que es, y el mucho agradecer, se vuelve encontra jejejejjeej

Enlace a comentario
Compartir con otras webs

El inconveniente de poder editar un post alarga el tema, cosa que la administración debería tomar en cuenta.

enigma, quiero decir algo sobre el libro, no este si no todos los que has subido, y echo con esfuerzo.

No tomes como critica DESTRUCTIVA,

He visto como has incrementado el peso del libnro, eso se debe a varios factores; uno es el incremento de formularios de los cuales muchos son idénticos como los de FechaF fecha I Fecha 3 ect, donde podría usarse uno solamente y ahí se ahorran 3.

Modificar Clientes y Modificar Productos, unificar por medio de algún OptionBotton en uno para que 2 optionBotton uno te lleve el form a Productos y otro Option te lleve a Clientes.

Lo mismo pasa con los Registro Proveedor y Cliente, lo mismo pienso con 2 OptionBoton.

Ya viste cuantos formularios ahorras? Y peso al libro. Lo mismo con Entrada y el de Salida.

Te doy un ejemplo que para ti no será nuevo

Claro que en cada se puede meter el Call xxxxxx para que ejecute la macro necesaria si se ve necesario

Private Sub optProEntr_Click()
Application.ScreenUpdating = True
Hoja2.Select
LC.ColumnHeads = True
LC.ColumnCount = 9
LC.ColumnWidths = "30;165;35;35;35;70;55;77;120"
LC.RowSource = "A2:I" & Hoja3.Range("A" & Rows.Count).End(xlUp).Row
txtbusccli.SetFocus
End Sub

Private Sub optProve_Click()
Application.ScreenUpdating = True
Hoja3.Select
LC.ColumnHeads = True
LC.ColumnCount = 8
LC.ColumnWidths = "30;165;80;175;80;80;80;120"
LC.RowSource = "A2:H" & Hoja3.Range("A" & Rows.Count).End(xlUp).Row
txtbusccli.SetFocus
End Sub[/CODE]

Otro ejemplo; form ABC, abre y solo muestra caption de ABC (Análisis ABC) y solo ABC como tal. 1 chekbox True alarga el form y Caption para ABC

Si ves los 2 formularios ABC y Resumen, Que podrias hacer? uno solo con 2 Option; 1 option o un ChekBox para alargar y recortar segun neceario para que se vea paraABC y Resumen y por lo tanto el cambio de Caption de los labels ext ext ext. Los mismos controles (que son TextBox o Labels, cambian EN TIEMPO DE EJECUCION a su función respectiva.

Este es código buscado por la WEB de la cual conseguí ayuda para hacer esto y esta en un formulario de búsqueda que busca, tanto en hoja Proveedores como en hoja Productos y desde el formulario la llamada a editar sea Proveedores o Productos.

Esto en ves de tener 2 buscadores tengo 1 solo con varias funciones, incluso desde donde puedo Eliminar sea Productos o Proveedores. con este buscador me ahorro al menos 3 formularios.

No se que pensaras, tal ves te digas a ti propio, pues hazlo tu, si pero logre esto con mucha ayuda en lña WEB con varios a ayudarme en una o otra cosa y para llegar a eso me llevo bastante tiempo y sin los conocimientos necesarios para tal fin.

Bueno, no quiero que me tomes a mal al darte esta sugerencia.

Enlace a comentario
Compartir con otras webs

JoaoM

Te recuerdo que este archivo fue aportado hace tiempo y todo lo que se le haga ahora es una mera modificacion, pero su diseño original se mantiene. Tambien debes recordar que este aporte fué destinado con la intencion de que; Aprendan, lo usen, recuerden algunos codigos, aprovechen los que mas les guste etc.Tambien para quienes lo vean, puedan optar por una mejora de lo ya conocido de este archivo. Por tanto si cuentas con los conocimientos para plasmarlo en tus trabajos, felicidades!! y me alegra haber aportado para ello.

Enlace a comentario
Compartir con otras webs

Buenos días, Enigma

Ante todo darte la enhorabuena por la herramienta que has creado. En muy útil! Gracias. También quería preguntarte el código que debo añadir en el código de control puesto que no quiero que sea automático:

Sub Numerador()

lblControl = Format(Application.WorksheetFunction.Max(Hoja3.Range("A:A")) + 1, "00000")

End Sub

Desde ya agradezco la atención y recibe un cordial saludo.

Enlace a comentario
Compartir con otras webs

Hola

Gracias por tomar en cuent el archivo. En realidad,esta numeracion se hace en funcion a los registros que se guadan y con ello establezco el correlativo para la sigiente operacion.

Necesitas hacer algo en concreto? poner el numero manualmente?

Enlace a comentario
Compartir con otras webs

Estoy utilizando la ultima actualización que has puesto. Como te comentaba, has puesto la formula:

Sub Numerador()

lblControl = Format(Application.WorksheetFunction.Max(Hoja3.Range("A:A")) + 1, "00000")

End Sub

(muy útil, por cierto), pero en mi caso lo tengo que poner a mano (cada cliente tiene un numero de control diferentes..).

Lo he intentado modificar pero no lo he logrado. Muchas gracias!

Enlace a comentario
Compartir con otras webs

Hola

Lo que soliictas ya creo que lo habia contemplado con otra persona quien solicitaba que los registros se hicieran pero en diferentes hojas (Entrada y/o salidas). Esto ayuda de gran manera la numeracion del correlativo. Solo dejame ver si logro encontrarlo.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.


  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Saludos a ambos. Copiar y pegar por sí solas, no tengo el conocimiento de que sirvan como "evento" para actualizar las referencias que buscas hacer, en la forma que lo quieres hacer, ó la fórmula como la quieres hacer. Te recomiendo abrir un tema similar en Macros, es posible que algún Maestro te de alguna idea. Por otro lado, si debe ser con funciones, entonces tendías que interactuar con COLUMNA() y FILA() para que al pegar el destino "sepa" donde está ubicado e intentar cambiar la referencia. =INDIRECTO(CARACTER(COLUMNA()+64)&FILA()) Algo como eso se podría usar para obtener el código ASCII de la letra de la columna (donde 65 es el código para “A”), y FILA() devuelve el número de la fila. La función CARACTER() convierte el código ASCII en una letra. Luego, INDIRECTO() toma la cadena resultante (por ejemplo, “A1”, “B2”, etc.) y la usa como una referencia de celda. En ese caso, una posible idea de editar tu ejemplo sería: =SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&"1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&":"&CARACTER(COLUMNA()+64)); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!"&CARACTER(COLUMNA()+64)&":"&CARACTER(COLUMNA()+64)); "OK")); 0)   Enfatizo que es una idea, es muy probable que hay que editar. Así como esta su tema, la recomendación del maestro toma relevancia porque especular o deducir no es lo adecuado para intentar ayudar en este tipo de consultas. Por esta causa de mi parte por ejemplo no puedo aportar algo adicional.
    • En el ejemplo te he puesto 1 segundo para no hacer largo el gif, cámbialo a tu necesidad
    • Sub RecorrerRangoC() Set hoja = ActiveSheet Set rango = hoja.Range("C2:C" & hoja.Cells(hoja.Rows.Count, "C").End(xlUp).Row) If rango.Cells.Count = 0 Then MsgBox "No hay datos en la columna C.", vbExclamation Exit Sub End If For Each celda In rango.SpecialCells(xlCellTypeVisible) celda.Select Application.Wait Now + TimeValue("00:00:01") Next celda End Sub Prueba y comenta
    • Gracias   Al final funciona con esta formula. =SI.ERROR(C5*BUSCARV(A$2;TablaReparto[#Todo];COINCIDIR(D5;TablaReparto[#Encabezados];));C5) En la celda C5 he puesto la OT. Es similar a lo que me das como solución. ¡Muchas gracias por la ayuda!  
    • Hola, Mejor que subas un archivo que contenga esas fórmulas, indicando qué resultados esperas conseguir. Así ayudas a quien quiera ayudarte; no le obligas a que reproduzca ese modelo, y de paso podrá ver cuál es el objetivo buscado con esa/s fórmula/s. Saludos,
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.