Preview Image

Hace días que he estado buscando un calendario dinámico en excel, pero hasta ahora no tuve éxito. Así que me vi en la necesidad de crear uno yo mismo. Me encontré con plantillas de excel, pero no era lo que yo estaba buscando. Este calendario, tiene la forma de un DataChooser aunque aun no cumple esa función. Puedes cambiar el año y el mes.

Te cuento cómo lo hice. Además te proporciono el enlace al archivo.

  1. Crea un nuevo documento de excel
  2. Combina las casilla A1 y B1; D1,E1 y F1
  3. En A1 escribe el año, en D1 escribes “=FECHA(A1,G1,1)
  4. En la siguiente fila escribe las iniciales de los días (D, L, M …)
  5. En C1 escribe “=DIASEM(D1)“, para que te devuelva el valor del primer día del mes. (1 es domingo, 2 es lunes…)
  6. Ahora, podríamos poner una función un poco larga para cada una de las casillas que corresponden a los días, pero yo preferí poner solo las funciones necesarias aunque fueran diferentes para cada casilla. Enlistaré las funciones que tiene cada casilla.

RENGLÓN 3. PREGUNTO SI ESE DÍA COMIENZA EL MES

  • A3 = SI(C1=1,1,”") Si C1 es 1 significa que ese día comienza el mes y pongo 1, si no pongo cadena vacía
  • B3 = SI(A3=”",SI(C1=2,1,”"),A3+1) Primero pregunto si la casilla anterior es cadena vacía, si es así, hago la misma pregunta que en la anterior, si no, significa que en la casilla anterior hay un número, entonces sumo para tener el siguiente día.
  • Repito ésta fórmula en las siguientes casillas, siempre preguntando por la casilla anterior

RENGLÓN 4, 5 Y 6. EL DÍA ANTERIOR + 1

  • A4 = G3 + 1
  • B4 = A4 + 1
  • Así sucesivamente

RENGLÓN 7 Y 8. PREGUNTO SI EL MES SIGUE SIENDO EL MISMO

  • A7 = SI(MES(FECHA(A1,G1,G6+1))=G1,G6+1,”") Si el día siguiente pertenece al mismo mes, lo escribo, si no, pongo cadena vacía. Hago ésta pregunta porque podría tratarse de un 29 de febrero.
  • B7 = SI(A7=”",”",SI(MES(FECHA(A1,G1,A7+1))=G1,A7+1,”")) Primero pregunto si la casilla anterior es vacía, si es asi, todas las siguientes casillas deben de serlo también, porque esto significaría que el mes ya terminó, si no es así, hago la pregunta anterior
  • Repito la función en el resto de las casillas.

Seguramente te preguntarás, “¿Por qué me explica todo esto si puedo descargarme el documento?” Y estoy de acuerdo. Pero quizá al leerlo se te ocurra una forma más fácil de hacerlo y nos compartas tu idea.

Pero aún no hemos terminado.

Ahora vamos a darle unos pequeños toques:

  1. Agreguemos un CONTROL DE NÚMERO desde el menú insertar, en la pestaña de programador. Si no ves la pestaña, casi todos los tutoriales de macros te dicen como mostrarla.
  2. Haz clic secundario en el control y ve a formato de control.  Escribe los datos que creas convenientes y vincúlalo con la celda A1.  Acomódalo sobre la celda C1.Formato de control - control de numero
  3. Duplica el control. Al darle formato escribe los valores máximo y mínimo del 1 al 12. Acomódalo y vincúlalo sobre la celda G1.
  4. Por último, selecciona la celda D1 y dale formato de celda. Ve a formato personalizado y escribe “mmmm“. De esta manera se mostrará el nombre del mes y no la fecha.

Espero que te sea de tanta ayuda como lo es para mí.

Archivo:http://eloytorres.com/archivos/excel/calendario.xlsx

En caso de que copies y pegues tu calendario dinámico en otra zona de la hoja, solo debes de cambiar la celda de vinculación de cada control de número para que siga funcionando correctamente.

  1. Fito Morales

    en April 23rd en 12:00 pm

    Hola.
    Muy interesante tu modelo, yo estoy bucando un calendario donde se marquen las fechas que aparezcan en una columna de otra hoja. Te explico mi caso.

    Tengo un sistema de reservacion de un salon, el operador anotara en una columna de la hoja 1 las fechas que se vayan reservando dia a dia (no se repiten), luego en la hoja 2 quiero un calendario donde el operador pueda mirar cuales fecha de tal mes y año ya estan reservadas para no cometer errores , esto podria hacerse con formato condicional pero no se como hacer todo lo que necesito. Podrias darme una idea? Saludos y gracias.

  2. DUDA

    en August 27th en 3:30 am

    INTRODUZCO LOS DATOS COMO COMENTAS EN EL ESCRITO, PERO EL PRIMER PASO =FECHA(A1,G1,1) NO SALE CORRECTO, QUE HE DE HACER, GRACIAS.

  3. tgeloy

    en August 29th en 11:24 pm

    Quizá sea porque no aparecerá nada hasta que agregues el CONTROL DE NÚMERO (más adelante), que es el que está vinculado a la casilla G1 y da el valor del mes.

    Solo sigue los pasos hasta el final y todo saldrá bien.

    Al final del post está el link para descargar el archivo por si quieres revisarlo.

  4. Jasmín

    en August 29th en 11:31 pm

    A mí si me salió. Pero no me gustaron los colores y los cambié.

  5. Fernando

    en August 23rd en 1:31 pm

    1.- Ya tengo el calendario insertado en word pero las celdas del año y el mes están bloqueadas ¿qué hago?

    2.- Al hipervincular la celda de cada día con su marcador correspondiente ¡se me vincula toda la tabla! y no puedo trabajar.

    Gracias muchas por solucionar los problemas

 
>