MACRO 1 actualice Linea de Producion MACRO 2 agregar y consultar Linea de Produccion en Kardex Mensual

Dante Amor, tengo una Macro que solo hace la "MACRO 2" pero lo hace en un solo archivo, el archivo lo utilizo como plantilla osea que solo me sirve para agregar Lineas de Produccion, dicho archivo esta organizado de la siguiente manera:

1.- Libro "Kardex".- En el copio el Kardex que voy a agregar la Linea de Produccion.

2.- Libro "BD Lineas de Prod".- En este libro se va añadiendo los productos que voy clasificando por Lineas de Produccion, contiene la siguiente informacion.

2.1 CODIGO (numerico formato texto) 2.2 PRODUCTO (descripcion del articulo) 2.3 UNIDAD (unidad de medida o de presentacion) 2.4 LINEA (linea de produccion seleccionada para dicho producto).

3.- Libro "Listas Linea".- Es un resumen de las lineas agregadas por familia y descripcion de producto con su respectiva Linea de Produccion. Sirve para que salga la ventana de consulta "BUSQUEDA SENSITIVA DE LINEAS DE PRODUCCION" (ver imagen 2.2 y 2.3)

Por favor deseo las siguientes modificaciones, considerando que ya tengo una base de datos de Lineas de Produccion, y que cada mes que trabaje un Kardex tengo que agregar la Lineas de Produccion a cada Producto, pido lo siguiente:

1.- Macro 1 actuailizacion de lineas.- En el Kardex mensual nuevo (archivo kardex012014.xls) agrego una columna llamada "LINEA" para colocar alli las "Lineas de Produccion". En otro archivo llamado "LINEAS DE PRODUCCION.xls", tendre los libros "BD Lineas de Prod" y "Listas Linea".

El MACRO 1.- buscara el codigo que tenga su columna "LINEA" vacia y consultara en el archivo "LINEAS DE PRODUCCION.xls" procediendo a agregar dicho dato, tantas veces como el codigo se repita, sino encuentra dicho codigo pondra la palabra "SIN LINEA". Y asi sucesivamente.

2.- MACRO 2 .- buscara en la columna "LINEA" las que tengan la palabra "SIN LINEA", y presenta lo siguiente:

2.1 menu "agregar linea" ver imagen a continuacion

2.2 menu de consulta "BUSQUEDA SENSITIVA DE LINEAS DE PRODUCCION"

2.3 menu de consulta de linea con busqueda sensitiva

2.4 seleccion de Linea de Produccion a agregar

2.5 Pregunta si continua con la busqueda (aqui debe realizar esta pregunta una vez que haya agregado la Linea de Produccion a todos los codigos repetidos hacia abajo)

2.6 en el archivo el libro ""BD Lineas de Prod" del archivo "LINEAS DE PRODUCCION.xls", se agrega el nuevo codigo calificado y se va aumentando la base de datos.

2.7 en el libro "Listas Linea" del archivo "LINEAS DE PRODUCCION.xls", se va agregando el PRODUCTO (descripcion del articulo) y su LINEA DE PRODUCCION, ampliando los datos del menu de "BUSQUEDA SENSITIVA DE CONSULTA LINEAS".

1 respuesta

Respuesta
1

Con todo gusto te ayudo con todas tus peticiones, pero vamos resolviendo una por una.

Envíame la última versión de tu archivo y me explicas con ejemplos qué es lo que necesitas para esto:

"El MACRO 1.- buscara el código que tenga su columna "LINEA" vacía y consultara en el archivo "LÍNEAS DE PRODUCCIÓN.xls" procediendo a agregar dicho dato, tantas veces como el código se repita, sino encuentra dicho código pondrá la palabra "SIN LÍNEA". Y así sucesivamente."

Por lo que veo en tus imágenes tienes un formulario, me explicas cómo abro el formulario, qué datos tengo que poner y cuál botón presionar. Todo paso a paso y explicado con un ejemplo.

Recuerda poner en el asunto tu nombre de usuario: "Johnmor41"

Hola Dante, se me paso enviarte el archivo, pido disculpas, como te dije el archivo lo utilizo como una plantilla para completar los kardex mensuales en los que estoy poniendo la Línea de Producción a la que pertenece cada Producto. La Plantilla tiene 3 libros:

1er libro KARDEX (donde copio el Kardex en la que voy a agregar la Línea de Producción a cada Producto.Por ejemplo KX PT ENE 2014, agrego una columna que llamo "LINEA", que es donde se pondrá las Líneas de Producción a todos los productos).

2do libro "BD Líneas de Prod" es donde conforme se vaya agregando la Línea de Producción se va copiando en esta pestaña, como ya he avanzado algunos meses este libro ya tengo con una Base de Datos para poder actualizar en el KARDEX.

3er libro "Listas Líneas" este archivo sirve para que funcione el menu de CONSULTA SENSITIVA DE LÍNEAS, dicho menu me sirve cuando no se la Línea de Producción a la que pertenece el PRODUCTO que estoy calificando.

FUNCIONAMIENTO DE LA MACRO1 (ACTUALIZAR LÍNEAS)

Lo que quiero es algo así como dividir este archivo, donde el "KARDEX" ya no sea la plantilla sino sea directamente el archivo "KX PT ENE 2014.xls", para esto necesito que la MACRO1 y la MACRO2 se ejecuten desde el KARDEX.

Para esto necesito que la MACRO1 (ACTUALIZAR LÍNEAS), haga lo siguiente:

1.- Yo agregare una columna llamada "LINEA"(en el archivo plantilla que te envíe esta LÍNEA esta en la COLUMNA "F" pero te pido que pueda ser en cualquier otra columna, osea que funcione donde este la palabra "LINEA") entre la columna "PRESENTACION" y "GRUPO", la MACRO1, verificara la existencia de esta columna llamada "LINEA" para que proceda a funcionar, pero solo en las columnas "vacias".

2.- Las columnas están en la siguiente secuencia

2.1.- CÓDIGO 2.2 ARTICULO(descripción del producto) 2.3 PRESENTACIÓN 2.4 "LINEA" (donde se agregara la línea de producción respectiva) 2.5 GRUPO 2.6 FAMILIA 2.7 MARCA 2.8 COLOR

Todos estos datos se registren en el libro "BD Líneas de Prod"del archivo "LÍNEAS DE PRODUCCIÓN", conforme se vayan agregando las líneas de producción en el KARDEX osea (2.1), (2.2), (2.3), (2.4), (2.5), (2.6), (2.7). (2.8)

3.- funcionamiento de la MACRO1, en el 1ra fila vacia debajo de la palabra "LINEA" osea celda "F3"="vacio", buscara en la columma "CODIGO" el valor de la la celda "C3"="PT0000003260", dicho codigo lo buscara en el libro "BD Lineas de Prod"del archivo "LINEAS DE PRODUCCION.xls",

Opción 1) si existe dicho código (en el archivo LÍNEA DE PRODUCCIÓN.xls), en la celda vacía "F3" se colocara su LÍNEA respectiva, para este caso es "LÍNEA 3 P. ESPECIAL". Seguirá la búsqueda del mismo CÓDIGO colocando su línea respectiva hasta terminar con dicho código.

Opción 2) si no existe dicho código (en el archivo LÍNEA DE PRODUCCIÓN.xls), se llenara con la palabra "SIN LÍNEA" en la celda "F3", procediendo a buscar dicho código y poniendo la palabra "SIN LÍNEA" hasta terminar con dicho código

Y así sucesivamente.

4.- OJO en este proceso de actualización de datos no se alimenta (adiciona datos) tanto en el libro "BD Líneas de Prod" y el libro "Listas Líneas" del archivo "LISTA DE PRODUCCIÓN.xls".

Como tu sugeriste dejamos pendiente la MACRO2 por el momento, te envío el excel con la citada plantilla"

Muchas gracias, por tu gran ayuda, JOHNMOR41

Te anexo un nuevo código para buscar el código de la hoja "KARDEX" en la hoja "BD Lineas de Prod".

Si la línea está en blanco entonces busca en "BD Lineas de Prod" y si lo encuentra toma el dato de la línea de "BD Lineas de Prod" y lo pone en la columna "F" de la hoja "KARDEX"

Sub InsertarLinea()
'Por.Dante Amor
    Set h1 = ActiveSheet
    Set h2 = Sheets("BD Lineas de Prod")
    For i = 3 To h1.Range("C" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "F") = "" Then
            Set b = h2.Range("B:B").Find(h1.Cells(i, "C"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h1.Cells(i, "F") = h2.Cells(b.Row, "E")
            End If
        End If
    Next
    MsgBox "Proceso terminado", vbInformation, "INSERTAR LÍNEAS"
End Sub

Hola Dante no funciona la “MACRO1”, mira la idea es que se trabaje con 2 archivos:

1er archivo "KARDEX.xls" (donde esta el kardex mensual que sale del sistema de almacen) en esta data agrego una columna que llamo "LINEA" donde se ejecuta la MACRO1 "ACTUALIZAR LÍNEAS" osea en las filas vacías de esa columna se agregaran las que se encuentren en el archivo "LÍNEAS DE PRODUCCIÓN.xls"

2do archivo "LÍNEAS DE PRODUCCIÓN.xls" debe contener solo 2 libros:

1er libro "BD Líneas de Prod" (donde se encuentran el "CODIGO" y las "LINEAS DE PRODUCION" que se han agregado con la MACRO2 "AGREGAR Y CONSULTAR LÍNEA DE PRODUCCIÓN")

2do libro "Listas Líneas (que contiene el nombre de los productos y a que línea de producción pertenecen), este libro sirve para que funcione el menu de BÚSQUEDA SENSITIVA DE LÍNEAS.

Dante lo que quiero es manejar de ahora en adelante 2 archivos ( 1er archivo donde va el kardex mensual y el 2do archivo que viene ha ser una base de datos en la que poco a poco se van agregando productos y líneas de producción).

En otras palabras la plantilla en excel que te envíe debe convertirse en dos archivos.

Por favor has la modificación de la MACRO1, muchas gracias, JOHNMOR41.

Te anexo la macro actualizada, al ejecutarla los 2 libros deberán estar abiertos:

Sub InsertarLinea()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("KARDEX")
    Set l2 = Workbooks("LÍNEAS DE PRODUCCIÓN.xls")
    Set h2 = l2.Sheets("BD Lineas de Prod")
    For i = 3 To h1.Range("C" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "F") = "" Then
            Set b = h2.Range("B:B").Find(h1.Cells(i, "C"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h1.Cells(i, "F") = h2.Cells(b.Row, "E")
            End If
        End If
    Next
    MsgBox "Proceso terminado", vbInformation, "INSERTAR LÍNEAS"
End Sub

MACRO1 excelente, con esta MACRO1, logre poner en el KARDEX los codigos que ya estaban matriculados o registrados en mi archivo "LISTAS DE PRODUCCION.xls", ahora falta la MACRO2 "AGREGAR Y CONSULTAR LINEAS", esta MACRO2, ya existe en la plantilla que te envie, pero yo no lo hice, solo como se utiliza, por eso no puedo modificarla, el funcionamiento que quiero de la MACRO2 es igual que el de la MACRO1, es decir que la MACRO2 funciona en el archivo "KARDEX.xls" y utiliza el archivo "LISTAS DE PRODUCCION", para ir agregando codigos y lineas de produccion en el libro "BD Líneas de Prod", conforme vaya registrando las lineas nuevas al ejecutar la MACRO2.

Como ya haz visto en las imagenes que te envie cuando formule la pregunta al ejecutar la MACRO2 (ejecutando "llamarlinea"), se presenta un menu "AGREGAR LINEA DE PRODUCCION" como vez en esta imagen

En el caso que no conozca que codigo dare clic en la opcion "CONSULTA" y aparecera el menu "BUSQUEDA SENSITIVA DE LINEA"

donde digitare alguna palabra del nombre del producto y saldra todas las opciones coincidente, procediendo a escojer la linea respectiva.

Aqui vemos, que segun el menu de CONSULTA este producto pertenece a la "LINEA 3 P.ESPECIAL", en este caso se procede a cerrar el menu de CONSULTA y del menu AGREGAR LINEA escojemos la LINEA 3. Aqui la MACRO2 tiene un error solo registra fila por fila no registra a todos las filas que coincidan con el codigo elegido, osea el registro de LINEA 3, debe ser llenado desde la fila 3 hasta la fila 6 ya que pertenecen al mismo codigo "PT0000003260".

En caso, en el menu "BUSQUEDA SENSITIVA DE LINEA", no encuentre ninguna informacion que me sirva para identificar a que linea de produccion pertenece dicho producto, cierro esta ventana de "BUSQUEDA SENSITIVA". Y le doy clip en la opcion "PREGUNTAR". suponiendo que el codigo "PT0000003260" no tenga linea, al elegir la opcion "PREGUNTAR" dicha palabra se debe registrar desde la fila 3 hasta la fila 6.

Solo una cosa mas, el archivo "LISTA DE PRODUCCION.xls", debe tener los dos libros, osea el 1er libro "BD Lineas de Prod" y el 2do libro "Listas Linea", por lo que este archivo quedaria como una base de datos de consulta general para cualquier KARDEX MENSUAL que yo quiera trabajar.

Espero tu pronta respuesta, muchas gracias, JOHNMOR41

Podrías valorar esta respuesta

Y crear la pregunta correspondiente para la macro2.

Dante Amor, muchas gracias, la MACRO1, funciona correctamente, solo que para los casos en que no se encuentre el código no se coloca la palabra "SIN LÍNEA" si pudieras hacer esa modificación perfecto. Con respecto a la MACRO2 la pregunta la presente al mismo tiempo ya que en ambos casos se trataba de colocar a cada producto su LÍNEA DE PRODUCCIÓN respectiva. Pero si te formulare la pregunta aparte. Lo que no se es si te tengo que volver a explicar nuevamente lo que hace la MACRO2. O simplemente en el comentario pongo como ya lo explique cuando formule la pregunta "MACRO1 y MACRO2 LÍNEAS DE PRODUCCIÓN"

Doy por finalaizada la MACRO1.

Nuevamente te quedo muy agradecido, JOHNMOR41

Te anexo la macro con el cambio

Sub InsertarLinea()
'Por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("KARDEX")
    Set l2 = Workbooks("LÍNEAS DE PRODUCCIÓN.xls")
    Set h2 = l2.Sheets("BD Lineas de Prod")
    For i = 3 To h1.Range("C" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "F") = "" Then
            Set b = h2.Range("B:B").Find(h1.Cells(i, "C"), lookat:=xlWhole)
            If Not b Is Nothing Then
                h1.Cells(i, "F") = h2.Cells(b.Row, "E")
            Else
                h1.Cells(i, "F") = "Sin línea"
            End If
        End If
    Next
    MsgBox "Proceso terminado", vbInformation, "INSERTAR LÍNEAS"
End Sub

Crea la pregunta para la macro 2, solamente haz referencia a esta pregunta y si tengo dudas te consulto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas