Saltar al contenido

Archivo para control de Stock


Enigma25

Recommended Posts

  • Respuestas 217
  • Created
  • Última respuesta
publicado

Ahhh pero si se podria poner?? si lleva mucho chance dejalo asi, tendría que bajar el ultimo que subiste verdad? el de ayer?

publicado

Sii te si esta bueno, me da opción a ponerle el precio de venta al producto, lastima no haberte dicho antes eso yo pero bueno el programa es bastante funcional, gracias por tu ayuda Enigma25,

publicado

Ya te voy a agregar si el peso me lo permite, la opcion de consultar tanto las entradas como salidas por rangos de fechas y que te saque la diferencias entre las mismas. Asi podrás hacer las consultas para saber cuanto ganaste en una fecha especifica.

publicado

El que sabe, sabe y lo demas es historia triste, jejejejje

Lo que pretende Pedor se podiera hacer con formula o com odice Enigma, un formulario separado para solo esa finalidad pero, YA enigma tiene con lo que ha echo que no ha sido poco aguantar estos 2 embrollos fastidiosos jajajajajjajaaj.

Jalan mas que un camion grua

Pedro la ptregunta de enigma, depende del Office que uses.

Si 2003 lo tiene si es 2007, 10 13 no lo tiene, hay que agregar la libreria en System32 del x86 y en C:\Windows\SysWow64 en x64 MSCAL.OCX y MSCAL.hlp y luego registrar la ocx

Registrar el MSCAL.OCX te dejo un enlace para facilitarte las cosas, es mas facil que explicartelo por acá Control Calendar para Excel 2010 en windows 7 32 y 64 bit (solucionado) | Excel Negocios | El portal de Excel para Contadores

publicado

Hola Pedro

Este tiene una modificacion en el formulario de consultar Movimientos de Materiales con una nueva opcion para consultar por fangos de fechas.

Primero selecciona el material a consultar

Luego doble click en el primer textbox para que te muestre un calendario en dende pondras la fecha de inicio

Lugo doble click en el segundo textbox para que te muestra un nuevo formulario donde colocaras la fecha final

Luego click al boton "Consultar diferencias"

Stock.2.0.zip

publicado

Magnifico!! funciona a la perfeccion y ya se me ocurrio como hacer para lo del precio, cree otra hoja de Excel y el mete el codigo y le tira el nombre, precio costo y existencia, jejeje mas facil gracias por tu incondicional ayuda Enigma25

publicado

Poco a poco:

Quisiera hacerle lo propio a este tal como hiciste al de Entrada

Private Sub ComboBox1_AfterUpdate()
Dim Resta As Integer
For Resta = 0 To ListBox1.ListCount - 1
If ComboBox1 = ListBox1.Column(0, Resta) Then 'hacer para que el ComboBox1 acepte cualquier carácter. Acepta si pero no me llena los Labels
lblStock.Caption = Format(lblStock - ListBox1.Column(5, Resta), "#,##0")
End If
Next Resta
End Sub[/CODE]

Le coloque . Text pero en salida no me funciona

Edito:

Ya di con el cambio, ya agregue el : Text y me funciona

Otra cosa.

(formfechaI y formfechaF) Pregunto a enigma si un solo formulario para fecha inicial y fecha Final, no seria suficiente.

Yo digo y hablo pero no se como ahcerlo,. Podiera ser e nves de nuevos formularios para la fecha, usar el DataPiker (creo) y son 2 formularios menos y menos peso

Esto lo que refiere a Consulta de movimiento

publicado

Cambia la linea de formulario de Salida donde hace el descuento de los items asi:

Lin = 2

Do While Hoja1.Cells(Lin, 1) <> ""

For F = 0 To ListBox1.ListCount - 1

If ListBox1.Column(0, F) = Hoja1.Cells(Lin, 1).Text Then '<Esta es la linea cambiada. Se le ponde Text para que reconozca todo el texto o numero

Hoja1.Cells(Lin, 6) = CDbl(Hoja1.Cells(Lin, 6)) - ListBox1.Column(5, F)

End If

Next: Lin = Lin + 1: Loop

En la linea del Formulario de Entrada cambiala por este:

Lin = 2

Do While Hoja1.Cells(Lin, 1) <> ""

For F = 0 To ListBox1.ListCount - 1

If ListBox1.Column(0, F) = Hoja1.Cells(Lin, 1).Text Then

Hoja1.Cells(Lin, 6) = CDbl(Hoja1.Cells(Lin, 6)) + ListBox1.Column(5, F)

End If

Next: Lin = Lin + 1: Loop

No uso el Control DtPicker por tanto el Control Calendario es el que tengo. Lo incluí en el formulario de Consultar_Mov por el tema de peso.

Dame un ejemplo de los codigos que usas en el archivo.

publicado

Hola Pedro

Aqui te dejo el archivo con unas mejoras y actualizaciones muy importantes que quizas te puedan ser util.

avisame cualquier cosa o novedad.

Saludos.

Stock.2.0.zip

publicado

Hola nigma25, mis saludos y agradecimientos una ves mas.

Si, en essa línea lo hice antes de tu respuesta y quedo listo.

Cuanto al código que uso, me dejaste neutro, no se a que te refieres o estoy en la luna en misión espacial, jejejjeje

Yo le eliminaría esto y colocaría todos los frames a Height 156 se ve mejor, es cosa de gustos y modificación al gusto de cada uno

Private Sub UserForm_Initialize()
With Me
'.Height = Application.Height
'.Width = Application.Width
End With
End Sub[/CODE]

Al final cada cual hace la entrada como mas le guste

publicado

Enigma xq sera q cuando entro a ciertos formularios me dice que falta un objeto y no me deja hacer nada, xq sera?

publicado

Pues si ya tienes el libro en que enigma agrego los dos Calendarios, eso es porque tu no tienes la librteria que contiene dicho calendario MSCAL.ocx

¿Cuáles son esos formularios?

Si acaso quieres, entra(abre) al libro y en el editor VBA vete por herramientas/Referencias y visualisa si tienes el Control Calendario o Microsoft Control calendario. Si visualizas eso, desactívalo y ya no te presentara ese error peeeeeeeeeeerro, tampoco tiendras el calendario en Consulta de Movimientos

publicado

Ahhh ya, pero eso me pasa también con los archivos viejos (donde no había calendario) será que hace falta algo mas en la pc??'

publicado

Es cuestion de agregar el control para que funcione. Para ello toma como referencia lo dicho por JoaM y podrás agregarlo.

publicado

JoaoM

Me referia al codigo usado para hacer las entradas y/o salidas. Le agregas el .Text y listo funcionará tanto para datos asi como para numeros.

publicado

Per opuede no haber otra librería diferente para algo que tenga el libro y solo tu sabras que es.

En este se que tiene calendario y el 2007, 10 y 13 no lo tiene así como otras

publicado
JoaoM

Me referia al codigo usado para hacer las entradas y/o salidas. Le agregas el .Text y listo funcionará tanto para datos asi como para numeros.

Si, Si, ya había quedado listo a la primera. Lo he comentado arriba, muy arriba

Archivado

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

  • 109 ¿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
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
    • Podrías compartir tu solucion
  • 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.