1. AyudaExcel utiliza cookies. Si continuas utilizando AyudaExcel, estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

Solucionado Macros Excel - Programa de Almacen

Tema publicado en 'Macros y programación VBA' iniciado por marista, 15 May 2012.

Estado del tema:
Cerrado para nuevas respuestas
  1. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Amigos

    Apreciare su apoyo en el siguiente archivo el cual adjunto, este programa echo en macros lo que realiza es las salidas (devoluciones) e ingresos al almacen, lo cual actualiza una base de datos ya propiamente creada, pero lo realiza segun el codigo que se coloque, lo que deseo es que realize la operacion de busqueda no solo por el codgio del producto sino por el estado del material (N= nuevo o R= reparado).

    Apreciare su apoyo

    Saludos

    Adjuntos:

  2. alucard2011

    alucard2011 Usuario

    Registrado:
    27 Dic 2010
    Mensajes:
    152
    Me Gusta recibidos:
    8
    Género:
    Masculino
    Que tal marista creo que como comentas que tu busqueda es por un codigo porque mejor no ingresas desde el codigo el status de tu material y al igual asi prodrias no generar duplicados de codigos, en el ejemplo que te anexo dejo dos espacios y anexe el status "N" y "R" en los codigos checalo y espero te sirva.

    Un saludo desde Mexico.

    Perdon falto explicar que con esto ya encontraria la macro el material tanto nuevo como reparado mas facil.

    Adjuntos:

    Última edición: 15 May 2012
  3. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Un saludo....

    Al principio lo pense amigo Alucard pero eso me generaria muchos codigos y los que pongo en el ejemplo son algunos items, talves es algo complicado en macros pero si hay a tabla (control) qu ete arroja codigo, descripcion, tipo (ingreso y devolcion) y estado (N y R) luego no se podria realizar una macro que me arroje ya el stock actualizado, restando las devoluciones de los ingresos? asi tanto de los nuevos como de reparados...??

    Muchas Gracias por la sugerencia..pero no es lo que busco amigo

    Saludos
  4. Ama

    Ama Usuario Activo

    Registrado:
    21 Nov 2008
    Mensajes:
    901
    Me Gusta recibidos:
    40
    Hola marista

    Las lineas 32 y 62 son las que tienen la instrucción que verifica la coincidencia del la celda seleccionada con el "codigo".
    No puedes verificar a la vez el valor de la variable "estado" de la siguiente forma:.
    Linea 32
    CÓDIGO:
    If ActiveCell.Value = codigo And tipo = "Ingreso" And ActiveCell.Offset(, 4) = estado Then
    Linea 62
    CÓDIGO:
    If ActiveCell.Value = codigo And tipo = "Devolucion" And ActiveCell.Offset(, 4) = estado Then
    Última edición: 16 May 2012
  5. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Hola Ama....

    Lo que realiza en esas lineas es la comparacion del codigo ingresado y del tipo de transaccion (si es ingreso o devolucion) para realizar la suma o resta en la tabla datos, tabla en la cual se encuentra los stock

    Saludos
  6. Ama

    Ama Usuario Activo

    Registrado:
    21 Nov 2008
    Mensajes:
    901
    Me Gusta recibidos:
    40
    Hola marista

    Si no he entendido mal el producto puede estar registrado como nuevo o reparado ,y se trata de realizar la operación (suma o resta) sobre el registro que cumpla con las dos condiciones (Codigo y Estado).
    La macro actual opera solo sobre en el registro con el "codigo" del producto y no tiene en cuenta el "estado" ,pero al añadir otra condición a la linea ,el registro sobre el que tiene que operar la macro tiene que cumplir las dos condiciones.
    comenta a ver si estoy en lo cierto o no.
  7. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Ama...un saludo desde Peru

    Gracias por el interes de tu persona al tema asi como de todos los usuarios, te paso a explicar:

    La macro captura los datos ingresados en la hoja "Ingreso" dicha hoja se alimenta de los datos de la hoja "Datos"; en la casilla Codigo se ingresa el numero de codigo del material que segun listado desplegable nos muestra, luego ingresamos el tipo ya sea ingreso o devolucion (ingreso= ingreso y devolucion = salida) en cantidad colocamos lo que va a ingresar o devolverse; y luego el tipo ya sea nuevo o reparado (quiero aclarar que recien e ingresado esta casilla).

    El programa primero verifica el codigo y si es una entrada o salida (devolucion) y comienza a descontar o sumar segun el caso en la base de datos (hoja datos), luego procede a realizar un registor en la hoja "control".

    La casilla "Tipo" la agregue pero aun no puedo incluirla en el codigo de la macros para que tambien sea un determinante en la busqueda, osea no solo cogeria el codigo, si no tambien el tipo (R o N) y luego que lo encontro realizaria el aumento o disminucion en las cantidades que se encuentran en la hoja "Datos"

    Respondiendo lo que me preguntas, el programa solo utiliza 2 valores que son (codigo y tipo) y no toma en cuenta el estado (R o N)
  8. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    ME olvidaba..

    Gracias
  9. alucard2011

    alucard2011 Usuario

    Registrado:
    27 Dic 2010
    Mensajes:
    152
    Me Gusta recibidos:
    8
    Género:
    Masculino
    Que tal Ama y marista

    Anexo el archivo con el codigo modificado en las lineas que te comento el colaborador Ama al cual mando un saludo y espero no molestar, a mi parecer con este codigo se resuelve tu problema lo unico que pasaba era que no reconocia si escribias el estado en miniscula ( n , r) pero para eso mejor te agregue una lista en estado espero te sirva.

    Saludos.

    P.D. esta como ejemplo el codigo B5X10 que es en el que tienes stock como nuevo y reparado.

    Adjuntos:

    Última edición: 17 May 2012
    A adrianeperez le gusta esto.
  10. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Gracias amigo...

    Se soluciono el problema...solo algo mas; la funcion ActiveCell.Offset(, 4) como actua ? Gracias a todos por su interes mostrado.

    Saludos
    A adrianeperez le gusta esto.
  11. febrero59

    febrero59 Usuario

    Registrado:
    15 Abr 2012
    Mensajes:
    113
    Me Gusta recibidos:
    3
    Hace referencia a una celda 4 columnas a la derecha, en la misma línea (0,4).

    A propósito, ¿cómo se consigue limitar la vista de la primera hoja hasta la fila 17 y la columna H?

    Saludos, Juan.
    A adrianeperez le gusta esto.
  12. alucard2011

    alucard2011 Usuario

    Registrado:
    27 Dic 2010
    Mensajes:
    152
    Me Gusta recibidos:
    8
    Género:
    Masculino
    Ve al editor de visual Basic o Alt + F11 y en hoja 20 worksheet ve a las propiedades y en la pestaña de Alfabética ve a scrollarea y aqui ingresas las coordenadas A1:H17.

    Espero te sirva un saludo desde Mexico.
    A adrianeperez le gusta esto.
  13. marista

    marista Usuario

    Registrado:
    15 Oct 2011
    Mensajes:
    17
    Me Gusta recibidos:
    1
    Mi problema quedo solucionado.

    Solo quedaria cerrar el tema.

    ; )
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página