Visual Basic - Macros buscar datos y pegarlos como resumen

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 04/01/2024 18:27:19
Muy buenas a todos y todas
Alguien me puede ayudar con estos libros, trato de resumir una información de un archivo a otro.

El primer archivo se llama PLANIFICACIÓN A960 2024 hay 3 hojas "MAÑANA", "TARDE", "NOCHE".

Es una planificación de turnos de trabajo en las columnas están las fechas de los días del año y hay días que los trabajadores por diferentes motivos se ponen en enfermos y no acuden al trabajo, esos días los identificó como JP de jornada perdida, he puesto en las 3 hojas un ejemplo en las filas 5.

Segundo archivo ABS 2024 el cual lleva una hoja por cada mes del año. ENERO-24, FEBRERO-24, MARZO-24 etc.


La dinámica es la siguiente buscar en el archivo PLANIFICACIÓN A960 2024 todas las JP que tengan los trabajadores, a partir de la columna G hasta NH, y las tiene que pegar en el archivo ABS 2024, por meses, en el archivo que he subido ABS 2024 está el ejemplo manualmente de cómo tiene que pegarse los datos.

Resumiendo:
Busca el numero de productor del archivo PLANIFICACION A960 2024 en las tres hojas de las columnas E y si tiene JP a partir de la columna G hasta NH, tiene que pega el numero de productor en el archivo de ABS 2024 en la columna A, busca la fecha donde hay una JP y la pega en el archivo ABS 2024 en la columna F, luego en la columna G la ficha final de JP y en la columna H la suma de la fecha de inicio y fecha final..

Gracias a todos y perdón por alagar tanto la explicación.

Un saludo Jaime
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por Antoni Masana (558 intervenciones) el 06/01/2024 12:50:29
Te adjunto el módulo con el código de la macro.
Tendrás que importarlo en el libro PLANIFICACIÓN.

Te cuento que hace la macro porque el problema cuando hay más de un libro es como esta el segundo libro, abierto o cerrado.
Parto de la suposición que siempre estará cerrado.

- Abre el libro ABS 2024.xlsb
- Limpia las hojas de los meses del libro ABS 2024.xlsb, las que tenga.
- Recorre las tres hojas del libro PLANIFICACIÓN y copia los datos en el otro libro.
- Guarda el libro ABS 2024.xlsb
- Cierra el libro ABS 2024.xlsb.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 06/01/2024 21:12:28
Muy Buenas Antoni

Gracias por tu ayuda como siempre.

Estoy probando y no consigo que funcione me sale error de depuración, tampoco me abre el archivo de ABS, he desactivado una linea para abrirlo yo y me sale otro error de depuración, luego en tus indicaciones pones que cada vez que se ejecute la macros se limpian todas las hojas y vuelve a pegar los datos, pero dentro de unos meses el proceso sera largo ya que casi todos los meses tendra que volver a copiar casi 200 JP en todos los meses del archivo ABS, por lo que para ser mas rapido solo tendría que ir copiando datos del mes en que me encuentre con la hoja activa del mes en ese momento.

Si puedes y sin prisas ¿lo puedes mirar?

Muchas gracias Antoni
Un saludo Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por Antoni Masana (558 intervenciones) el 09/01/2024 19:28:35
Nueva versión

Te adjunto el módulo con el código de la macro.
Tendrás que importarlo en el libro PLANIFICACIÓN.

Te cuento que hace la macro.

- Verifica que tenga SOLO dos libros abiertos.
- Verifica que la hoja activa del segundo libro es de un MES.
- Limpia la hoja del mes del libro ABS 2024.xlsb.
- Recorre las tres hojas del libro PLANIFICACIÓN y copia los datos del mes en el otro libro.
- Guarda el libro ABS 2024.xlsb
- Cierra el libro ABS 2024.xlsb.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 10/01/2024 15:58:53
Buenas Antoni

Ayer en el trabajo con windows probé la nueva versión de la macros y funciona de maravilla, no pude comprobarla al 100% , pero si que hace el pegado en el mes de la hoja activa, y dije la pruebo en casa tranquilamente, por lo que la estoy probando en mi ordenador de casa con sistema operativo macOS y no me pega los datos.

¿hay diferencias en las macros para windows y macOs?

De todas formas esta noche en el trabajo con windows la probare a tope y ya te cuento.

Muchas gracias como siempre eres mi salvador.

Un saludo Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 11/01/2024 16:32:36
Buenas Antoni

Estoy probando la modificación de la macros desde el macOS y si que funciona, al principio no se ejecutaba y era por que siempre tiene que esta la hoja de MAÑANA activa, la prueba que estoy haciendo ahora es de poner en las hojas de MAÑANA, TARDE Y NOCHE en el mes febrero JP y no las pega en el archivo ABS-24 en la hoja de febrero, siempre hace lo mismo borra ENERO, ¿ hay que esperar a que sea febrero para que funcione la macros?, tampoco hace falta que estando en febrero borre enero y que vuelva a pegarlo otra vez, pensando cuando llegue diciembre que no borre todos los meses.

Ya me dices algo

y muchas gracias
un saludo Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por Antoni Masana (558 intervenciones) el 11/01/2024 18:05:18
Creo que no lo he explicado bien lo que hace esta segunda macro:


- Verifica que tenga SOLO dos libros abiertos.
- Verifica que la hoja activa del segundo libro es de un MES.
(Mira que hoja es la activa y verifica que sea la hoja de un mes. Si la hoja activa es la BASE DATOS no copia y muestra un aviso.)

- Limpia la hoja activa del mes del libro ABS 2024.xlsb.
Solo la hoja activa

- Recorre las tres hojas del libro PLANIFICACIÓN y copia los datos del mes en el otro libro.
Aqui solo copia los datos del mes correspondiente a la hoja activa.

Adjunto una nueva versión que corrige un error en el mensaje de que la hoja activa no corresponde al mes.

En esta línea esta el error:

1
MsgBox "La hoja activa: " & Hoja_Destino & " no corresponde a un mes.", _

Debe poner:

1
MsgBox "La hoja activa: " & ActiveSheet.Name & " no corresponde a un mes.", _

Lo demás funciona igual.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 11/01/2024 20:01:23
Buenas Antoni
Lo primero gracias por tu tiempo, algo estaré haciendo mal ya que pongo JP en archivo PLANIFICACION en las hojas de MAÑANA, TARDE Y NOCHE en el mes de febrero para hacer pruebas, luego con el archivo ABS con el mes de febrero-24 activo, ejecuto la macros y siempre borra enero y se ejecuta enero, febrero no pega datos y sale el mensaje de copia finalizada.

Un saludo Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por Antoni Masana (558 intervenciones) el 11/01/2024 21:04:29
Voy a añadir un mensaje antes de copiar para verificar que se va a realizar en la hoja correcta.

Saludos.
\\/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 12/01/2024 17:20:43
Muy buenas Antoni

Ahora con el nuevo mensaje ya detecta la hoja activa del mes, estoy haciendo pruebas y esa parte esta ya OK, la otra prueba que he hecho es de poner JP en las tres hojas MAÑANA TARDE Y NOCHE en el ultimo día mes y no los pega correctamente en el archivo ABS en ningún mes, el resto de días de todo el año esta OK, si puedes lo miras y si no tiene solución no pasa nada por un dia lo puedo poner manual.

Un saludo y gracias

Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por Antoni Masana (558 intervenciones) el 12/01/2024 20:24:18
Pasame el fichero con los JP que has puesto, dime donde falla y miro que esta pasando.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 12/01/2024 21:50:29
Buenas Antoni

Te adjunto los dos archivos he dejado puesto en la 3 hojas MANAÑA, TARDE Y NOCHE. en el 31 de enero "JP" y al ejecutar la macros no las pega bien, el resto de dias del año de maravilla, algo pasa con el ultimo dia de todos los meses.

Gracias
Un saludo Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JAIME
Val: 39
Ha disminuido su posición en 7 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Macros buscar datos y pegarlos como resumen

Publicado por JAIME (36 intervenciones) el 13/01/2024 19:25:34
Buenas Antoni

Todo OK, funciona de maravilla, te agradezco mucho tu esfuerzo y sobre todo tu tiempo.

Un saludo

Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar