Reconozco que me he hecho un lío con los nombres de los libros, sigo sin saber cuál es el LIBRO1 y el LIBRO3.
Según lo entiendo tienes dos libros:
- NAVE (industrial, no espacial), que es el que recoge los fichajes, es decir cuando la gente ficha se guarda en este libro.
- OFICINA que es en el que trabajas, es decir revisas los fichajes y actualizas si falta alguno.
Desde el libro OFICINA debes traer los fichajes del libro NAVE para posteriormente revisarlos.
Para esto debes ejecutar una macro desde el libro OFICINA que lea el libro NAVE y copie los datos ¿Hasta aquí voy bien?
Vemos como sigue:
En primer lugar, olvidemos lo que propongo y saltemos al siguiente párrafo.
La jornada no termina siempre a la misma hora, entonces el programarlo a un tiempo determinado no me sirve ya que si lo programo a una hora y ese día a esa hora no estamos trabajando o ese día no hemos trabajado no me los recogerá.
Es evidente que si un día no habéis trabajado no recogerá los datos, si no hay no se puede recoger.
Una buena hora es de 2 a 5 de la madrugada para recoger los datos, pero siempre los tendrás para revisar al día siguiente.
¿A qué hora terminan de fichar el día que terminan más tarde? a las 18, las 19, las 20, las 21, etc.
¿A qué hora se finaliza la jornada en la oficina? Si la oficina cierra a las 20h. y ese día a las 21h. están fichando no lo puedes hacer ni a mano.
Aquí me pierdo.
Lo que yo hago cada día es que cuando terminan la jornada todos los trabajadores y han realizado todos los fichajes los recojo desde el ordenador de la oficina y procedo a verificarlos y añadir si falta algún fichaje, por eso el libro compartido es el que tengo en el ordenador de la nave (LIBRO 1), que es donde se insertan los fichajes, el problema es que tengo otro libro para abrir automáticamente el LIBRO 1 (LIBRO 2), porque si abro automáticamente el LIBRO 1 directamente, al abrirlo desde el ordenador de la oficina con el LIBRO 3 se ejecutan las macros y yo solo quiero que se abra para pasar los datos al LIBRO 3, sin ejecutarse.
Dices que recoges los fichajes desde el libro OFICINA ¿Cómo? Y aquí es donde me pierdo, dices
tengo otro libro para abrir automáticamente el LIBRO 1 Que entiendo que es el de la NAVE. ¿Qué quiere decir
abrir automáticamente? y continua
porque si abro automáticamente el LIBRO 1 directamente, al abrirlo desde el ordenador de la oficina con el LIBRO 3 se ejecutan las macros Y aquí me hago un lío.
Veamos si lo entiendo:
- el LIBRO 1, el que está en la nave tiene una macro que se ejecuta al abrirlo. ¿Correcto?
- el LIBRO 3, el que está en la oficina, tiene que abrir el LIBRO 1, leer los datos y cerrarlo sin que se ejecute la macro.
¿Qué hace el LIBRO 2?
¿Como recoges actualmente los fichajes con todo este follón?
Este problema lo he tenido y lo arregle de una forma, pero en tu caso se puede usar la misma u otras muchas.
Te cuento, tengo un libro con una macro que hace cosas, el que no viene a cuento, y quería que al abrir el libro se ejecute la macro, bueno eso es fácil usando el:
Workbook_Open o el
Auto_Open.
El problema es que la macro tenía que comportarse de forma diferente si una persona humana abría el libro o lo hacia el Programador de Tareas, también sirve para ejecutar o no una macro.
Mi solución: como el Programador de tareas ejecutaba un BAT porque además del Excel hace más cosas antes de abrir el Excel crea un fichero en un sitio determinado, en mi caso en el directorio raíz, abre el Excel y lo primero que hace la macro es mirar si existe dicho fichero y a partir de aquí decide como debe comportarse, cuando finaliza el Excel (la macro sabe que debe cerrar el Excel porque existe la marcha de que se está ejecutando desde el Programador de Tarea, se borra el fichero marca.
En tu caso se puede hacer de varias formas:
- Creando un fichero desde la macro del libro de la oficina
- Que al abrir el libro de la NAVE y ejecutar la primera macro verifique una de estas opciones:
- Existe fichero de MARCA
- En que ordenador esta (Variables de entorno)
- Si se esta ejecutando el libro OFICINA.
Y seguro que hay alguna más que ahora no se me ocurren.
Espero no haberme enrollado mucho. Y ser claro en mis explicaciones
Si no te aclaras puedes enviarme los ficheros y te explico cómo aplicarlo.
Saludos