Saltar al contenido

Archivo para control de Stock


Enigma25

Recommended Posts

  • Respuestas 217
  • Created
  • Última respuesta

Tendré la paciencia contigo porque es evidente que no sabes mucho de vba o inventario, supongo. No deseo hacerme ver como el que sabe, pues estoy en esta aventura y ruego por seguir aprendiendo. Pero lo importante, lo que mas nos define; Es la necesidad de investigar, sacrificarse y leer para asi ver con una buena optica la vida.

La hoja record es donde se registra las operaciones: dicha hoja existe y guarda desde el numero de la operacion hasta el subtotal de cada item. Dicha hoja sirve para los reportes y demas. Como los informes de salidas, de entradas por material. En dicha hoja estan las entradas y/o salidas.

En la hoja menu encontrarás los botones con los cuales podrás realizar los reportes.

Ojo, este igual se le puede agregar mas reportes pero por motivos de peso del archivo no se permite.

Eso de que seas exigente, te recomiendo que lo seas contigo mismo y en tu curiosidad y aprendizaje y sobre todo la humildad.

Si, lo explico; Eres un reto y te felicito por eso..!!!

Enlace a comentario
Compartir con otras webs

Ya vi la utilidad de la hoja Reporte. Es que la barra desplazamiento estaba abajo y nada se veia nunca, ahora se cual es su utilidad, Entradas y salidas.

No deseo hacerme ver como el que sabe, pues estoy en esta aventura y ruego por seguir aprendiendo

Si y mucho mas que yo que nada se, algo entiendo( lo sensillo) pero construir codigo o entender el para que algunas (muchas) lineas de codigo, NANAI NANAI.

Si te das cuenta en la hoja Documento, la presentacion de UMV y Cantidad por Empaque estan cambiadas, solo cambie

.Cells(5, 1) = "Cantidad por Empaque"
por
.Cells(6, 1) = "U.M.V"[/CODE]

5 por 6 y viceversa

en el evento del buton CommandBotton1 del formulario Consultar_Mov

Enlace a comentario
Compartir con otras webs

Quiero que quede claro que cualquier comentario que yo haga, no es con el fin de criticar destructivamente, si no para correccion de algun error (pienso yo) que se presente

Algunos errores que presentan los formularios Modificar o eliminar son que en dichos formularios el codigo despues de usar los butones CommadBotton 1 y 2 el TextBox1 esta Enabled = False y así no puede recibir el focus. Debes cambiar TextBox1 al TextBox2.

Ya mensionado atras, usando el form Consulta Registro y Consulta Movimientos, es que estan cambiados de lugar U.M.V. por Cantidad por Empaque, solucion en el post #28.

Muy importante; Para meter Productos, el codigo a dar a cada producto tiene que ir precedido de al menos una letra (la que le convenga) Ej. p1000 o solamente letras.

Donde exista esta rutina Ej.

TextBox1 = ""
TextBox2 = ""
ComboBox1 = ""
TextBox3 = ""
TextBox4 = ""
ListBox1.ListIndex = -1
TextBox2.SetFocus
Label6.Caption = ""[/CODE]

Puede ser cambiada por

Limpiar

Esta Limpiar corresponde a esta

[CODE]Sub Limpiar() 'para TextBox y ComboBox en formulario
Dim Ctrl As Object
For Each Ctrl In [COLOR="#FF0000"]Mod_Eli_Producto[/COLOR].Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl = Empty
If TypeOf Ctrl Is MSForms.ComboBox Then Ctrl = Empty
Next Ctrl
MsgBox ("Controles limpios para nuevo uso"), vbInformation, "Limpiesa"
End Sub[/CODE]

colocada esta en un Modulo. [b] [color=#FF0000]Mod_Eli_Producto[/color][/b] es el nombre del formulario al cual corresponde la ventana de edicion de codigo.

Hay otras cosas que he ido corrigiendo que de momento no recuerdo y al tener todo funcionando CORRECTAMENTE hare un pequeño Informativo en una hoja especifica para tal in para los usuarios que lo bajen sepan como y cual es el funcionamiento de este libro.

[color=#0000FF]Quisiera pedir a Enigma25 si me podia ayudar a cambiar de columna y hoja sin que me de algun error a la posteriori, Ej para la hoja Menu, columna AA.[/color]

[color=#0000FF]Unidad Medida venta

CAJA

PAQUETE

BANDEJA

TAMBOR

LITRO[/color]

[color=#FF0000] [b]ya listo, cambiado sin problema alguno[/b][/color]

Algo que vaia encontrando, voy tratando de emendar y mensionando como corrigir (si es que puedo corrigirlo yo sin ayuda jejejejej)

Edito:

Pienso que unidad (sea paquete, caja ect ect) que de entrada o salida, estos se considferan enteros, es decir; no puedo dar entrada de media caja con medias manzanas. mensiono esto porque los LabelsStock contiene un formato #,##0.000, es decir que presenta 20 cajas como 20,000 y pienso que deveria presentar 20. Para l oultimo, quitarle el formato #,##0.000 dejando la linea así

[CODE]lblStock.Caption = Format(Hoja1.Cells(Txt, 6)) ', "#.##0")[/CODE]

no le veo sentido presentar decimales.

Seguiré Editando

Enlace a comentario
Compartir con otras webs

joaoM

En varias oportunidades mencionas de que no sabes mucho sobre codigos y cito tu comentario:

Si y mucho mas que yo que nada se, algo entiendo( lo sensillo) pero construir codigo o entender el para que algunas (muchas) lineas de codigo, NANAI NANAI.

Pero luego hablas de errores, de que el formulario esto, de que el formulario aquello, de tus soluciones para que, segun tu, funcione correctamente. Dices que los comentarios que haces no son destructivos, no obstante, todo lo dicho en verdad deja mucho espacio a la duda, pues en verdad pudiera tomarlo a mal. Siendo éste un aporte hecho con mucha humildad, en el que me maté, si te parece la analogia, para que luego, personas que se aventuran en este mundo tengan otra herramienta mas para ayudarse.

Ten presente que es un aporte y que está a la orden de todos quienes quieran aprender de el.

Como siempre te digo... Se humilde mi amigo. Eso te abrirá las puertas en todo.

Buenas noches.

Enlace a comentario
Compartir con otras webs

Esta bien, te parece mal corrigir aunque praticamente nada se de CONSTRUCCION de codigo pero por lo menos algo he corrigido como el formato numerico de #,##0.000 a #,##0 y moneda de #,##0.000 a #,##0.00.

Gracias amigo. dejo el tema por aqui, algo se aprende con tu comentario, se ve que estas molesto

Enlace a comentario
Compartir con otras webs

JoaoM

Pierde cuidado. Como dije anteriormente los comentarios serán bienvenidos, sin embargo, el archivo fué hecho de manera que quienes lo utilizen, puedan aprender, modificar, adaptar a sus necesidades y según sus requerimientos. Es decir; si no usan formato decimales en el stock, pueden modifocarlo, si no usan código de texto si no numeros, entonces lo modifcan y asi sucesivamente.

El archivo está hecho y aportado con código abierto para que lo puedan evaluar y analizar y quien sabe, puede que aprendan uno que otro codigo que les hacia falta por aprender. Tal como yo lo veo, la informacion es publica, es decir; una idea puede estar al alcance de los demas, no para conocimiento propio porque con el morir, eso desaparece. No existe algo mas honorable que enseñar y aun mas que el que aprende, lo ponga en practica.

Siéntete libre de expresarte siempre y cuando valores lo que tienes al frente y sepas aprovecharlo.

Nota Importante: En cuanto pueda, volveré a verificar el archivo y corregir todo lo necesario para que esté operando de manera que no les presente error.

Mis respetos.

Enlace a comentario
Compartir con otras webs

  • 8 months later...

Buenas tardes pakilprogramador1

Está en todo lo cierto. El primer archivo al cual dejé, tiene esos problemas es por el tema de condiciones ya que si digita un valor en el caja de texto en donde se coloca las cantidades, este le arrojará error porque no ha mostrado con anterioridad el item al cual va a procesar. Para ello tendria que condicionarlo para que no ocurra.

Ejemplo del codigo para que no ocurra:

Label12.Caption = ""
ElseIf ComboBox1.Text = "" Then: Label12.Caption = ""
Exit Sub
Else
.Lo demas......
end if

[/PHP]

Ahora bien, considerando esto, es posible igualmente que, no tenga registrado algun(os) material(es) en la base de datos asi como tambien los Proveedores y Clientes. Cosa con la cual es vital que tenga ya que toda esa informacion convergen en un mismo formulario (Entrada o Salida).

Es fundamental que trabaje primero en la creacion de los proveedores, clientes, items y demas y luego registre una entrada y posterirmente una salida.

Luego me dirá si le funciona. Cualquier cosa estamos a la orden.

Mis respetos.

Buen dia

El archivo que adjunto nuevamente, tiene la modificacion del codigo para que no les de error al digitar las cantidades si este no cuenta con el item a agregar. Por favor cualquier cosa me avisan para hacer las modificaciones del mismo.

Mis respetos.

[/font][font=arial]

[/font]

Stock.2.0.zip

Enlace a comentario
Compartir con otras webs

  • 3 months later...
Buenas tardes pakilprogramador1

Está en todo lo cierto. El primer archivo al cual dejé, tiene esos problemas es por el tema de condiciones ya que si digita un valor en el caja de texto en donde se coloca las cantidades, este le arrojará error porque no ha mostrado con anterioridad el item al cual va a procesar. Para ello tendria que condicionarlo para que no ocurra.

Ejemplo del codigo para que no ocurra:

Label12.Caption = ""
ElseIf ComboBox1.Text = "" Then: Label12.Caption = ""
Exit Sub
Else
.Lo demas......
end if

[/PHP]

Ahora bien, considerando esto, es posible igualmente que, no tenga registrado algun(os) material(es) en la base de datos asi como tambien los Proveedores y Clientes. Cosa con la cual es vital que tenga ya que toda esa informacion convergen en un mismo formulario (Entrada o Salida).

Es fundamental que trabaje primero en la creacion de los proveedores, clientes, items y demas y luego registre una entrada y posterirmente una salida.

Luego me dirá si le funciona. Cualquier cosa estamos a la orden.

Mis respetos.

Buen dia

El archivo que adjunto nuevamente, tiene la modificacion del codigo para que no les de error al digitar las cantidades si este no cuenta con el item a agregar. Por favor cualquier cosa me avisan para hacer las modificaciones del mismo.

Mis respetos.

[/font]

Se puede hacer un resumen anual del inventario general? Gracias

Enlace a comentario
Compartir con otras webs

Hola

aun estoy investigando el tema ya que nunca lo había considerado pero pero lo tomaré como nuevo reto. Sin embargo, puede ayudarte que lo hagas primeramente con tablas dinámicas, allí podrias sumar por años las salidas y entradas.

No obstante y entendiendo que se necesita tipo código, esto lo buscare-consultaré para poder ayudarte.

Saludos.

Enlace a comentario
Compartir con otras webs

Hola

aun estoy investigando el tema ya que nunca lo había considerado pero pero lo tomaré como nuevo reto. Sin embargo, puede ayudarte que lo hagas primeramente con tablas dinámicas, allí podrias sumar por años las salidas y entradas.

No obstante y entendiendo que se necesita tipo código, esto lo buscare-consultaré para poder ayudarte.

Saludos.

Eres muy amable, y desde ya muchas gracias por tu ayuda. Que nuestro PADRE te de bendiciones, y muchas gracias por tu caridad!!! Quedo a la espera de esto.

Enlace a comentario
Compartir con otras webs

Hola triguillo

Gracias al señor Ridlle quien me ayudó en los códigos para mostrar los años en la hoja activa, adjunto el siguiente archivo con la respuesta a tu requerimiento.

Tiene algunos datos como ejemplo para probar el funcionamiento del codigo.

El formulario es "Resumen Anual por Operación" es decir; que podrás consultar los años por tipo de operación.

Cuentame tus impresiones. Saludos.

Stock.2.0.zip

Enlace a comentario
Compartir con otras webs

Mil gracias pajuma

se corrigieron algunos detalles y demás. Lo malo que al agregarle mas código, este aumentaria su peso. Por eso está solo con lo que tiene y si se puede agregar algo mas, se haria como en este caso de los resumenes anuales.

Ahora estoy pensando en hacerlo por meses y años. creo que seria de gran utilidad.

Estaré estudiando la forma de hacerlo. culaquier cosa lo comentaré.

Mis respetos.

Enlace a comentario
Compartir con otras webs

Hola

Subo nuevamente el archivo con una modificacion para consultar meses por fechas, es decir; si necesitas solo saber el mes de Enero pero en distintas años, podras hacer la operacion, siempre y cuando coloques el tipo de Movimiento que requieras tambien.

Espero tus comentarios. Saludos.

Stock.2.0.zip

Enlace a comentario
Compartir con otras webs

  • 1 month later...

Enigma, otra cosita... ponerle precio de vennta no se puede verdad, para ver cuanto compre y cuanto vendi al final de un mes (en dinero), xq solo se le puede poner el precio de compra pero no el precio al q lo kiero vender....

Enlace a comentario
Compartir con otras webs

Se me ocurre, q en lugar de cantidad de empake se coloke precio de venta y que siga todo igual y al llegar al formularrrio de salida que multiplike la cantidad x el precio de venta no x precio unitario y asi se arreglaria xq se comparan las entradas con las salidas y ya tengo la ganancia no?

Enlace a comentario
Compartir con otras webs

Hola enigma25.

Tengo el proyecto inicial de la pagina 1, ¿Cómo hacer para agregar ese detalle al inicial o todo para que quede completo hasta la fecha?.

o

¿Se podría subir ya completísimo? se te agradeciera de mi parte y algunos mas porque , está fenomenal

Enlace a comentario
Compartir con otras webs

hola Pedro

Creo que para ello se agregaria la opcion de registrar el precio de venta en el formulario de registrar Material y el de Modificacar Materia.

Luego en el formulario de Salida que solo muetre el precio de venta.

No será necesario hacer cambios del empaque ya que como te he dicho; los cambios afectan los codigos para las otras operaciones.

Enlace a comentario
Compartir con otras webs

Por otro lado este ultimo, me da el siguiente error 9 al abrir el formulario

Private Sub CommandButton10_Click()

Consultar_Reg.Show

End Sub

Dice: Se ha producido error 9 en tiempo ode ejecución

Subíndice fuera de intervalo

Y me lleva a este evento que es la apertura del formulario

Enlace a comentario
Compartir con otras webs

Archivado

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


  • 97 ¿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

    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
    • Agradecido Antoni! Tus sugerencias me ayudaron mucho! Como pudiese hacerte llegar el archivo?
    • Prueba este código. Sin el archivo no te puedo ajustar más. Private Sub btnCargaBancos_Click() 'El tipo de dato debe especificase para cada variable Dim TasaCompra As Double, TasaVenta As Double, InvBanesco As Double, InvVzla As Double Dim MontoBanesco As Double, MontoVzla As Double, TasaDiaBan As Double, TasaDiaVzla As Double Dim TasaActual As Double 'Hay que comprobar que los textbox tienen contenido numérico 'Los datos numéricos solo pueden contener números y el separador decimal, cualquier otro caracter dará error al convertir If Not IsNumeric(txtInverBanesco) Or _ Not IsNumeric(txtInverVzla) Or _ Not IsNumeric(txtTasaCompra) Or _ Not IsNumeric(txtTasaVenta) Then MsgBox "Los datos deben ser numéricos", vbCritical Exit Sub End If InvBanesco = CDbl(txtInverBanesco) InvVzla = CDbl(txtInverVzla) TasaCompra = CDbl(txtTasaCompra) TasaVenta = CDbl(txtTasaVenta) 'Los datos de los divisores no pueden ser 0 (Indeterminación matemática) If TasaCompra = 0 Or _ InvBanesco = 0 Or _ InvVzla = 0 Then MsgBox "Los datos no admiten valor cero", vbCritical Exit Sub End If MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055) TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then TasaActual = TasaDiaBan Else TasaActual = TasaDiaVzla End If 'En VBA, los datos numéricos no admiten ser formateados, formatear directamente en las celdas, 'MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) 'MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) 'TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco = MontoBanesco txtBcoVenezuela = MontoVzla txtTasaDiaria = TasaActual End Sub  
  • 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.