Traducir el blog
Calendario Perpetuo desde 1900 con eventos
0) Introducción al Calendario Perpetuo
Esta no es la tercera parte de la trilogía que estoy escribiendo sobre fechas anteriores al año 1900, sino que es un inciso para presentar un nuevo Calendario Perpetuo con fechas desde el año 1900, y que tiene como valor añadido la posibilidad de mostrar los eventos o efemérides de cada día pasando el ratón sobre las celdas. Accede al siguiente enlace en inglés para saber cómo:
How to Create a Rollover Effect in Excel: Execute a Macro When Your Mouse is over a Cell
La tercera entrega de la trilogía se basará en este calendario pero usando fechas en VBA, por lo que abarcará fechas desde el 1 de enero del año 100, con lo que servirá para todo el Calendario Gregoriano.
Este es el aspecto del nuevo calendario perpetuo:
1) Características relevantes
Características relevantes del Calendario Perpetuo en Excel:
- Calendario Perpetuo Gregoriano con un rango de fechas del 01-03-1900 al 31-12-9999.
- Vista de 3 meses: el mes seleccionado; el anterior y el posterior.
- El primer día de la semana puede ser domingo o lunes.
- Muestra u oculta los días de otros meses.
- Sábados y domingos marcados en color rojo.
- Flechas para incrementar o decrementar el mes, rotando como un carrusel.
- Flechas para cambiar el año.
- Selección de un mes.
- Selección de una año mediante 2 cifras para las centenas y 2 cifras para las unidades.
- Si se decrementa el año 1900 pasa al año 9999.
- Si se incrementa el año 9999 pasa al año 1900.
- Selección del día de hoy.
- Selección del primer día del calendario perpetuo: 01-03-1900.
- Selección del último día del calendario perpetuo: 31-12-9999.
- Muestra u oculta un calendario auxiliar y otros datos.
- Tabla de fechas con las efemérides guardadas, por ejemplo los Días de Independencia de los países obtenidos de Wikipedia (enlace aquí).
- Hasta 12 efemérides por día en 3 páginas con 4 eventos cada una.
- BONUS: Al pasar el cursor del ratón sobre una celda muestra los eventos de ese día.
- Activa o desactiva el evento del ratón sobre una celda.
- Botones de animación con avance y retroceso de los meses y con 5 velocidades de animación.
- Botones para ver los primeros o los últimos 3 meses del año.
- Botones para incrementar o decrementar de 3 en 3 meses.
- Filtro de un día en la tabla de fechas.
No voy a explicar cómo usar este calendario, lo interesante es probar cada una de las características y experimentar con el diseño de la experiencia del usuario (UXD - User eXperience Design) de este calendario perpetuo.
Si tienes sugerencias para mejorar este calendario, puedes compartirlas escribiendo un comentario al final de este artículo.
2) Plantilla del Calendario Perpetuo desde 1900
Descarga la plantilla totalmente gratuita, con las macros visibles y las hojas protegidas sin contraseña, desde Google (con el botón "Excel Download") o desde el enlace a Microsoft OneDrive:
3) Cómo he diseñado este Calendario Perpetuo
Este calendario perpetuo se compone de 3 hojas:
- Año>=1900 - Donde se muestra y se controla el calendario.
- Fechas - Donde se guarda la tabla de fechas.
- Idiomas - Donde se guardan las traducciones de los idiomas.
En la hoja 'Idiomas' se selecciona en la celda A1 entre 2 idiomas: Español o English. Los textos de la columna A son las traducciones que aparecen en el calendario. Si quieres, puedes añadir más columnas con más idiomas. Una macro cambia los textos de la cabecera de la tabla de la hoja 'Fechas'.
La hoja 'Fechas' contiene la tabla de fechas en 3 columnas: Fecha; Evento y Núm. Serie VBA. Esta última columna es calculada con una macro y sirve para ordenar las fechas por su número de serie en VBA, o sea, con números positivos y negativos. He incluido algunas fechas significativas del calendario gregoriano desde 1900 y las efemérides de los Días de Independencia de varios países, obtenidos de la Wikipedia - enlace aquí. Desprotegiendo la hoja sin contraseña se puede editar cualquier fecha.
El calendario perpetuo está en la hoja 'Año>=1900'. Para explicar cómo ha sido diseñado nos centraremos en el mes central del calendario, en el rango K5:Q12
En la celda L5 se muestra el nombre del mes pero contiene el día 1 del mes y año seleccionados con alguno de los controles del calendario: con el desplegable de la propia celda; con el cambio de año; con las flechas de incremento o decremento de los meses; con las teclas de animación de la fila 14.
En el rango X34:Z46 está la tabla auxiliar con la lista de meses que se carga con la validación de datos de la celda L5.
El cálculo de un mes del calendario comienza en el calendario auxiliar que se encuentra entre las filas 23 y 30 (se puede ver haciendo clic en la fila 21).
En las celdas B25, K25 y T25 se calcula el primer día de la semana en que comienza un mes, con las fórmulas:
B25: =C5+1-DIASEM(C5;Rango_DíaSemana)
K25: =Rango_MesNom+1-DIASEM(Rango_MesNom;Rango_DíaSemana)
T25: =U5+1-DIASEM(U5;Rango_DíaSemana)
Siendo:
Rango_MesNom: ='Año>=1900'!$L$5
Rango_DíaSemana: ='Año>=1900'!$Z$2 (La semana comienza en: 1-dom; 2-lun)
Esas celdas contienen el número de serie de una fecha, por lo que el resto de los días se calculan a partir de esas celdas sumando un uno al día anterior. Se calculan 6 semanas para cubrir todo el mes. El formato de las celdas de esas fechas es una letra "d", por lo que se muestra el número del día. En los meses de las filas 23 a 30 se ven siempre los días de meses anteriores. Los días con eventos o efemérides en la hoja 'Fechas' se marcan en color naranja gracias al formato condicional. Los sábados y domingos se pintan en color rojo.
¡¡¡ Y ahora el truco fundamental !!!
¿Qué fórmula produce el efecto de pasar el ratón por encima de la celda ejecutando una macro?
Vamos a analizar una fórmula posible para la celda K8:
=HIPERVINCULO(MouseOver(K26);DIA(K26))
Hace referencia a la celda K26 del calendario auxiliar, que contiene una fecha cualquiera y llama a la función HIPERVINCULO que tiene 2 argumentos.
El segundo argumento es un nombre descriptivo que, en este caso, llama a la función DIA para mostrar el número del día en la celda.
El primer argumento es la ubicación del hipervínculo, ejecutando la macro MouseOver(K26), con la celda de la fecha auxiliar como argumento.
Esa era la fórmula original que sirve únicamente para días dentro del mes del calendario. La fórmula definitiva en la celda K8 es un poco más compleja:
=HIPERVINCULO(MouseOver(K26);SI.ERROR(SI(O($Z$3="ü";MES(K26)=$K$5);DIA(K26);"");""))
Esta fórmula sirve para todos los días del mes y tiene en cuenta si se muestran los días de otros meses (controlado por la celda Z3) y si hay errores en las fechas, cosa que sólo ocurre en enero de 1900 y en diciembre de 9999.
La macro MouseOver está en el módulo ModPasarRatónSobreCeldas
La función MouseOver devuelve una String con la ubicación de la propia celda en que se llamó, pero antes modifica la celda B16 ("Rango_Día") con la fecha del día sobre el que ha pasado el ratón por encima. Este efecto lo publicó por primera vez Jordan Goldmeier en su blog OPTION EXPLICIT VBA por lo que le estoy muy agradecido, pues ha contribuido a enriquecer la interactividad y usabilidad de Excel. En el siguiente enlace hay un ejemplo mío de lo que se puede llegar a hacer con este excelente efecto de pasar el ratón sobre las celdas de Excel sin tener que hacer clic en ellas:
pedrowave.blogspot.com - Como pintar con Excel
Las fórmulas que llaman a la función HIPERVINCULO consiguen cambiar el día en la celda B16, denominada "Rango_Día", con la macro MouseOver:
Range("Rango_Día").Value2 = rCelda.Value2
¡MENUDO TRUCO!
En las filas 17 a 19 se muestran los eventos o las efemérides del día de 4 en 4 y hasta en 3 páginas, obtenidas de la tabla auxiliar en el rango B34:V46
La columna "Fila" contiene una fórmula matricial (introducida con las teclas: Control + Mayúsculas + Intro) para obtener 12 filas con los eventos del día extraidos de la tabla de la hoja 'Fechas':
{=SI.ERROR(K.ESIMO.MENOR(SI($B$16=Rango_Fechas;FILA(Rango_Eventos)-MIN(FILA(Rango_Fechas))+1;"");FILA()-FILA(B34));0)}
Haciendo clic en el día de la celda B16, si hay eventos en ese día, los filtra en la hoja 'Fechas'.
4) Próximos pasos
En una próxima entrega publicaré un calendario perpetuo similar pero usando las fechas de VBA en lugar de las de Excel, con lo que se podrán programar eventos desde el día 1 de enero del año 100.
Si te gustan los calendarios puedes leer todos los calendarios que he publicado hasta la fecha en este enlace:
Mi lista de blogs
-
Nueva Función TRIMRANGE y Nuevo Operador de Rango - Hoy vengo con novedades emocionantes en Excel: Microsoft ha liberado una nueva función llamada TRIMRANGE y ha introducido un nuevo […] The post Nueva Fun...Hace 1 día
-
Divisor propio mayor que la raíz cuadrada - Explorando por OEIS, encontré un tipo de números en https://oeis.org/A332269 y me ha apetecido desarrollar el tema mediante nuestras funciones en hoja ...Hace 2 días
-
PASAR DATOS A FILAS SEGÚN ELEMENTOS ENTRE GUIONES UTILIZANDO POWER QUERY - Hola a todos! Después del post anterior (aquí) en el que realizábamos una tarea utilizando VBA, me gustaría replicar el mismo trabajo pero usando Power …...Hace 4 días
-
3DFrame-py; with non-linear analysis - Exactly a year since the previous update I have revised the 3DFrame-py spreadsheet with the addition of non-linear analysis options. The new files can be d...Hace 4 días
-
Tiempo pasado, presente y futuro - 🔝*To translate this blog post to your language, select it in the top left Google box. * AVISOS que salvan vidas Haciendo caso de las posibles inund...Hace 6 días
-
Color, Conditions, and Copilot: How to save time using conditional formatting with Copilot in Excel - Hi everyone, this is part 11 in a series of posts to show you some of the things that are possible to do with Copilot in Excel. *What is conditional f...Hace 1 semana
-
5 Ways to Calculate Hours Worked in Microsoft Excel - Wondering how to calculate hours worked in Excel? You’ve reached the best resource to learn from. So, tag along! Calculating time values in Microsoft Excel...Hace 1 semana
-
Insertar un objeto vinculado en Excel es fácil y práctico - Aprende a insertar un objeto en Excel. Ya puedes traer objeto vinculado en Excel de manera más avanzada que con los comandos Copiar y Pegar te permiten t...Hace 1 semana
-
Debra’s Excel News–October 2024 - New PIVOTBY function, get ready for Spreadsheet Day, and more, in this month’s Excel news. Visit my Excel website for more tips, tutorials and videos, and ...Hace 4 semanas
-
4 ejemplos de utilización de validación de datos con fórmulas - Ya sabes que la herramienta de Validación de datos es de gran utilidad para controlar y restringir la introducción de datos y así, asegurarte de…Hace 1 mes
-
Trucos de Excel: Referencias Relativas, Absolutas y Mixtas Explicadas ✨ [VIDEO] - ¡Hola a todos! Hoy hablaremos sobre un tema muy importante para quienes usan Excel: los tipos de referencia. Las referencias son fundamentales al momento d...Hace 1 mes
-
How To Predict Bearing Life With Excel - When you work in mechanical engineering, understanding the reliability and performance of bearings under various conditions is crucial. Bearings are the co...Hace 2 meses
-
How to calculate WEEKNUMBER in Month / Quarter / Year with Excel? - Let's say you have daily data and your boss wants to see the trends by week in month or week in quarter? How do you calculate the week number in a month ...Hace 2 meses
-
Excel: Cálculo de Finiquito, Beneficios Sociales Bolivia - Es importante tener nociones mínimas acerca el cálculo del finiquito y Beneficios Sociales de un trabajador en Bolivia, ya sea para la verificación de nues...Hace 2 meses
-
-
Minutos de juego y puntos. El Espanyol, sus finales de partido y mis enfados - Pienso que el Espanyol este 2024 se está dejando muchos puntos al final de los partidos. Cuando el ... Leer más » The post Minutos de juego y puntos. El ...Hace 7 meses
-
TikTok’s search evolution - 2 in 5 Americans use TikTok as a search engine. Nearly 1 in 10 Gen Zers are more likely to rely on TikTok than Google as a search engine. More than half of...Hace 7 meses
-
MASTERCLASS Gratis – Gráfica de Gestión Proyectos en #EXCEL. - Aprende a crear un Gráfico de CURVA S, ideal para GESTIÓN DE PROYECTOS, porque te permite identificar como esta tu proyecto tanto en COSTOS como en TIEMP...Hace 8 meses
-
Interés compuesto con Excel - Este es un mapa mental de las distintas funciones Excel para calcular el valor del dinero en el tiempo aplicando la ley de capitalización compuesta. En ...Hace 9 meses
-
Demos cursos de Excel 2007, 2010, 2013, 2016, 365 - Puedes consultar las demostraciones de los siguientes capítulos de los cursos Excel. Demo cursos ExcelHace 9 meses
-
Unblocking and Enabling Macros - When Windows detects that a file has come from a computer other than the one you're using, it marks the file as coming from the web, and blocks the file....Hace 1 año
-
-
Navigating Outlook Favorites - I have these four favorites defined in Outlook: From the inbox, I could hit Shift+F6 to get into the Favorites area but sometimes I would end up in no man’...Hace 1 año
-
Office Scripts: Trabajando con Tablas - [image: Office Scripts: Trabajando con Tablas] Me he dado cuenta que últimamente solo escribo de lenguaje M (es mi pequeño vicio)... pero hay que liberar l...Hace 1 año
-
Progress on the Block Protocol - Since the 1990s, the web has been a publishing place for human-readable documents. Documents published on the web are in HTML. HTML has a little bit of… Re...Hace 1 año
-
Hello world! - [image: Hello world!] Welcome to WordPress. This is your first post. Edit or delete it, then start writing!Hace 2 años
-
Decálogo para realizar Trabajos de Fin de Grado (TFGs) y de Fin de Máster (TFMs) - 1.- Tanto TFGs como TFMs son un requisito para graduarse a la vez que una oportunidad para aprender. Así, el tiempo que se le dedica es muy variable. De...Hace 3 años
-
London Excel Meetup Workbooks - The workbooks used in my presentation on “Analytical and Interactive Dashboards in Excel” at the London Excel Meetup, September 3, 2020Hace 4 años
-
Cálculo de jornada que termina al día siguiente (Power Query) y despedida - [image: Cálculo de jornada que termina al día siguiente (Power Query) y despedida] Este blog se ha ocupado de cálculos de tiempo con bastante intensidad, c...Hace 4 años
-
Visualize parts and whole - combine clustered column and stacked column charts - *Inga: Disa what?* *Igor: -ppeared.* by The FrankensTeam ------------------------------ Really it was 3 years ago we posted our last article? *Freddy: Th...Hace 5 años
-
-
-
-
-
-
-
-
-
9 Response to "Calendario Perpetuo desde 1900 con eventos"
Después de ver la programación, se que no es una tarea sencilla y mucho tiempo de dedicación... Felicidades por estos aportes...Valen Oro Puro!!!
Hay mucho que analizar y aprender de este archivo...!!!
Gracias.
Como has hecho el mismo comentario en Facebook, te vuelvo a dar las gracias por tu valioso comentario Leopoldo Blancas. La verdad es que le he dedicado unas cuantas horas a intentar pulir este calendario, que es uno más de los más de 20 que he publicado en 10 años.
Ahora falta que me lo testeen los usuarios y vean si es de utilidad, aunque solamente sea como ayuda al aprendizaje de Excel.
En el siguiente enlace puedes ver y descargar el nuevo Calendario Perpetuo con fechas desde antes de 1900, ya que está diseñado con fechas en VBA desde el 1 de enero del año 100.
Calendario Perpetuo desde antes de 1900
tengo una duda quiero añadir una columna al calendario, donde ponga la semana del año que es, es decir, 1 o 25, la que corresponda, pero no lo logro hacer, me esta dando fallo, pero no veo como arreglarlo, sabes como se puede hacer, es para poder utilizarla en una programación y las semanas pueden bailar de un año a otro
Para añadir el número de semana se usa la función: NUM.DE.SEMANA(núm_de_serie,[tipo_de_devolución])
Dependiendo de la localización geográfica se usará un valor distinto para el tipo de devolución...
gracias, es para españa, lo del numero de la semana, es para hacer una programacion de un colegio
hola he intentado hacer lo que tu me dices, utilizando la formula, pero cuando llego al mes de agosto, vuelve a reiniciarse, y empieza a contar desde 1, no se que puedo haber hecho mal, lo que no se es como enviarte mi fichero excel para que lo veas
Contestando a tu primera pregunta, el tipo de devolución a usar como argumento para España es el tipo 21, que es el único tipo que utiliza el Sistema 2 según ISO 8601, que generalmente se conoce como el sistema de numeración de semanas europeo.
Si tienes problemas para usar la función NUM.DE.SEMANA, este blog no es de ayuda. Te recomiendo registrarte en un foro de ayuda, como TodoExcel.com, y publicas un tema solicitando ayuda y adjuntas tu archivo explicando qué quieres conseguir, dónde quieres los números de semana, que has intentado hasta ahora, dónde te falla y el resultado que esperas.
Leave A Reply
Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.