Por favor requiero su ayuda y algún consejo. Tengo una planilla que registra la Asistencia Anual.
Como he migrado desde Office, no encuentro algunas funciones que me permitan realizar la tarea.
Les adjunto el ejemplo.
La barra de desplazamiento, cambia el valor de la celda B4. Esta hace saltar la macro que registra si esa celda cambió, y oculta las columnas de los meses que no corresponden al valor de B4.
No estoy aplicando bien la función sumaproducto(). Es esa la función o me sugieren otra que se sume cada ocurrencia (O, X, M) en la columna correspondiente al mes actual y al año.
La otra cosa que me ocurre es que necesito duplicar esa misma hoja 10 veces. Ocurre que cuando añado una hoja la macro deja de funcionar. ¿Qué estoy haciendo mal? ¿Por qué pierde el foco?
Muchas gracias por su ayuda
Registro Asistencia
Registro Asistencia
- Adjuntos
-
- asistencia2017.ods
- (18.6 KiB) Descargado 147 veces
JoLFiG
Open Office 4.3
Libre Office 5.1.6.2
Linux Mint 18
Open Office 4.3
Libre Office 5.1.6.2
Linux Mint 18
- PepeOooSevilla
- Mensajes: 1480
- Registrado: Sab Abr 04, 2009 6:10 pm
- Ubicación: Sevilla (España)
Re: Registro Asistencia
Hola.
Adjunto una posible solución.
He hecho algunos cambios en el código. No es necesario crear un objeto "Listener" (a mi modo de ver), simplemente asigna al suceso "Botón del ratón pulsado" del control "Barra de desplazamiento 1" la macro "MiCodigo" y listo. Y, para que al duplicar funcione el código, he hecho referencia a la hoja activa y no a una hoja en concreto.
En la hoja, para totalizar he usado la función CONTAR.SI() con los rangos apropiados (que ya los tienes en el código). Es tu tarea el completarla en todos los meses si lo consideras oportuno.
Por último, cuando dupliques una hoja ten la precaución de entrar en el control "Barra de desplazamiento 1" de la nueva hoja y en el campo "Celda vinculada" de la pestaña "Datos" deja sólo la celda B4, quitando "HojaX" siendo "X" un número (el número de la hoja que estás duplicando).
Por cierto, antes de duplicar, procura tener la hoja totalmente operativa para no tener que hacer las modificaciones en cada una de ellas.
Por favor, no dejes de leer la Guía de supervivencia y para próximas consultas, recuerda, "una pregunta por tema y un tema por pregunta".
Saludos cordiales.
Adjunto una posible solución.
He hecho algunos cambios en el código. No es necesario crear un objeto "Listener" (a mi modo de ver), simplemente asigna al suceso "Botón del ratón pulsado" del control "Barra de desplazamiento 1" la macro "MiCodigo" y listo. Y, para que al duplicar funcione el código, he hecho referencia a la hoja activa y no a una hoja en concreto.
En la hoja, para totalizar he usado la función CONTAR.SI() con los rangos apropiados (que ya los tienes en el código). Es tu tarea el completarla en todos los meses si lo consideras oportuno.
Por último, cuando dupliques una hoja ten la precaución de entrar en el control "Barra de desplazamiento 1" de la nueva hoja y en el campo "Celda vinculada" de la pestaña "Datos" deja sólo la celda B4, quitando "HojaX" siendo "X" un número (el número de la hoja que estás duplicando).
Por cierto, antes de duplicar, procura tener la hoja totalmente operativa para no tener que hacer las modificaciones en cada una de ellas.
Por favor, no dejes de leer la Guía de supervivencia y para próximas consultas, recuerda, "una pregunta por tema y un tema por pregunta".
Saludos cordiales.
- Adjuntos
-
- asistencia2017_v2.ods
- (30.56 KiB) Descargado 154 veces
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.