Al activarlo tendremos acceso a muchos más controles (no todos disponibles para las hojas de cálculos). Uno de ellos es el Calendar Control, que nos permite insertar un calendario permanente en la hoja de cálculos.
Para insertar el calendario en una hoja Excel, procedemos como con los otros controles ActiveX, como mostramos en la entrada anterior.
Una vez insertado en la hoja, abrimos el menú de propiedades, para adpatar el calendario a nuestras necesidades
En este ejemplo de calendario en Excel, tenemos una tabla con ventas diarias en la Hoja2. En la Hoja1 insertamos el calendario, y lo ligamos (LinkedCell) a la celda B7 (que no será visible al estar cubierta por el calendario).
En la celda B14 introducimos esta fórmula, que usa la celda ligada B7 como argumento
=FECHANUMERO(B7)
Esta formula convierte el valor textual del calendario a una fecha. En la celda C14 introducimos una función BUSCARV, para obtener el valor de las ventas correspondientes a la fecha elegida en el calendario
=SI(B14>MAX(Hoja2!A:A);"fecha sin datos";BUSCARV(B14;Hoja2!A:B;2;0))
la condición lógica con la función MAX, nos permite evitar valores erróneos cuando se elige una fecha que no exste en la tabla de ventas.
Ahora, podemos elegir la fecha en el calendario y ver la suma de ventas correspondientes en la celda C14.
Además del menú de propiedades en la barra de herramientas, también se puede cliquear con el boton izquierda el control y abrir este diálogo
Categorías: Varios_
Technorati Tags: Calendario en Excel, Controles ActiveX en Excel
es posible poner la fecha en una celda sin tener que digitarla, si no que seleccionandola de un calendario, por ejemplo de un menu desplegable que aparesca un calendario en la celda se escoja la fecha y esta sea asignada a la celda.
ResponderBorrarSi me puede ayudar julianprada@gmail.com
Hola Julián
ResponderBorrarla forma más práctica de crear una lsita desplegable que se abra al activar una celda es usar Validacion de Datos.
Si quieres usar un calendario, me parece que la forma de hacerlo sería creando un evento que dispare el calendario cualdo se activa una celda de un rango determinado.
Gracias Jorge por la respuesta, he usado una validacion para este fin, pero quisiraalgo mas grafico como el calendario que me permita visualizar el mes y los dias, y si seria de mucha utilidad que me ayudara con un ejemplo.
ResponderBorrarGracias.
Hola Julián
ResponderBorrarhe decidido escribir una nota sobre el tema. Espero publicarla en los próximos días.
Gracias Jorge estare pendiente.
ResponderBorrarHola Julián
ResponderBorrarpuedes ver el ejemplo en esta nota
Hola buenas tardes, trate de hacer lo del calendario pero cuando abro los controles nome aparece el Calendar control, hay alguna manera de que aparezca?? o es mi version de excel??
ResponderBorrarTienes que tener el Calendar Control instalado, Lo puedes verificar en la lista de controles disponibles, como muestro en esta nota.
ResponderBorrarSi no aparece puedes descargarlo en esta página.
Buenas, he seguido tu blog una temporada, y he aprendido mucho, ahora necesito para unos documentos, poner la fecha completa todos los dias, (la fecha del dia que listo los trabajos) en una celda con este formato "Lunes, 26 de noviembre de 2007" como podría hacerlo, para que me cogiera la fecha del lunes automaticamente, o del martes.
ResponderBorrarOsea hoy pondria eso, pero si lo hago mañana que automaticamente me pusiera "Martes, 27 de Noviembre de 2007" creo que me has entendio.
Un saludo atrona00@gmail.com
Hola Atronao
ResponderBorrarel formato de la fecha depende de la definición de formato que hayas elegido para la celda (Formato--Celda--Fecha).
No entiendo del todo que quieres decir con poner la fecha automáticamente. Si das el formato indicado, la fecha aparecerá en la celda con el nombre del día.
Si quieres que la fecha aparezca en una celda automáticamente al abrir el cuaderno, tendrías que usar macros.
Saludos:
ResponderBorrarMe podrias ayudar con lo del LinkedCell) trato de ponerlo en las propiedades cuando lo escribo le doy enter el cuadro siempre se queda en blanco no lo guarda.
Uly
ResponderBorrarpuedes mandarme el archivo para ver dónde pueda estar el problema?
Hola Jorge,
ResponderBorrarHe descubierto tu blog recientemente y es lo mas util que he encontrado nunca para trabajar con excel. Muchas gracias.
Te queria hacer una consulta sobre fechas. Quiero que en un parte de horas trabajadas, cuando el empleado introduzca las horas dedicadas a una tarea, por defecto, en la columna de fecha aparezca la fecha en la que introdujo la tarea, para ello uso la funcion HOY(). Mi problema es que quiero que esa fecha se quede almacenada con el valor introducido la primera vez, ya que la siguiente vez que abro el libro, la funcion HOY() actualiza de nuevo la fecha de la tarea al dia actual.
Hola Luis
ResponderBorrarefectivamente, HOY() es volátil y por lo tanto es recalculada cada vez que sucede algún cambio en la hoja.
La solución es programar un evento que imprima en la celda requerida la fecha en que el valor ha sido introducido.
HOLA JORGE:
ResponderBorrarEstoy conociendo recien tu blog y me ha resultado de mucha utilidad.
Tengo un problema con un calendario de pagos, necesito que con referencia a el se incerte la fecha de pago en una hoja de calculo llamada comprobante de facturacion. Este calendario de pago esta marcado segun las fechas de entrega de documentos y fecha de pago con cheque, podria haber tratado con la formula condicional pero el problema es que las fechas de pago no siguen un orden correlativo
No es necesario que las fechas sigan un orden correlativo para usar una fórmula condicional.
ResponderBorrarPuedes enviarme el archivo por mail para que vea qué es lo que quieres hacer.
hola, gracias por el post
ResponderBorrarQuisiera saber, como, usando el calendario ya mencionado, al dar click en un día, me aparezca en las celdas de abajo, una información de otra hoja ... es decir, en una hoja llevo un registro de evtnos diarios de mi trabajo, quisiera que el calendario, al dar click en cierto día, me mostrara la informacion relacionada con ese día la cual almaceno en otra hoja.
gracias!!!
Leo
ResponderBorrarhabría que ver cómo están organizados los datos en la hoja, pero me parece que sería más práctico usar una tabla dinámica donde en el campo de página eligirías la fecha. En definitiva, todo lo que hace el calendario es poner la fecha elegida en una celda.
Me gustaria hacer un calendario perpetuo incluyendo el numero de semanas del año, pero hacerlo con formulas ¿Como los hago?
ResponderBorrar¿Has consultado en los foros de Excel? En esta nota del blog he mostrado como hacer un calendario permanente con fórmulas. Este puede ser tu punto de partida, sólo habría que agregar lase semanas (tal vez lo muestre en alguna futura nota)
ResponderBorrarNECESITO QUE EXCEL ME AVICE DE FECHAS VENCIDAS O POR VENCER, MEDIANTE UN MENSAJE ESTO SERÍA SIMILAR A OUTLOOK, ESTAS FECHAS LAS TENGO PUESTAS EN LAS CELDAS. COMO PODRIA HACERLO
ResponderBorrarAnónimo, ¿por que en mayúsculas? Es como si estuvieras gritando.
ResponderBorrarTienes que programar un evento. Puedes hacer una búsqueda en el blog con la palabra "evento" y leer las distintas notas sobre el tema.
Jorge,
ResponderBorrar¿Se podrían poner 2 calendarios en una misma hoja y controlar que la fecha del segundo sea siempre igual o posterior a la del primer calendario?
Sin macros o eventos supongo que no se podrá, pero con macros o eventos, cómo sería?
Un saludo,
Sergio
Si, se puede y efectivamente, hay que usar macros. Por ejemplo, se podría programar un evento que abra un segundo calendario cuando se haya elegido una fecha en el primero. También se puede pasar la fecha elegida en el primero para determinar en que fecha se abrirá el segundo.
ResponderBorrarPero la técnica y el código exceden el marco de un comentario.
Utilizando este calendario se podría hacer que debajo de él aparecieran varias filas con información respecto a un día?? es decir, por ejemplo, en lugar de las ventas totales, que al elegir una fecha pusiera por filas, cada una de las ventas que se realizaron ese día??
ResponderBorrarSi, se puede pero la solución no es trivial. Por ejemplo, se podría usar la fecha del calendario como argumento en una macro que filtre la tabla de ventas; o se podría hacer algo similar con una tabla dinámica + evento (macro).
ResponderBorrarTambién es posible diseñar una solución con fórmulas, pero sería complicada.
Estimado Sr. Jorge Dunkelman:
ResponderBorrarHe estado modificando un calendario perpetuo en excel, denominado yearly_event_calendar.xls, que bajé desde www.vertex42.com/calendars, que goza de gran flexibilidad, para adaptarlo a mis necesidades personales y respetando localismos nacionales.
Dicho calendario me ofrece formatos condicionales que yo no sabía como utilizar y con él lo aprendí.
Pero ahora me veo en la necesidad de preparar una función de excel que me permita elegir una serie de días de la semana comprendidos entre dos fechas, con exclusión de los demás; es decir, me refiero a una función que seleccione, por ejemplo, los terceros lunes de todos los meses comprendidos entre, por ejemplo, el 3 de marzo y el 18 de diciembre del año en curso, y que además, cuando el mes tenga, un quinto lunes, lo saltee y vaya al primero del mes siguiente, salvo que se le pida que los tome en consideración.
He estdo probando con algunas de las fórmulas que Ud. publicó, pero no tengo los conocimientos suficientes.
Viendo que Ud. amablemente desasna a quienes le plantean problemas de excel, le agradeceré su gentil ayuda, que, desde ya, doy por descontada.
Atte.
Eduardo Daniel Vázquez
Eduardo,
ResponderBorrarlas funciones no pueden elegir o modificar de ninguna manera los objetos de la hoja. Las funciones sólo pueden dar resultados (numéricos, textuales o booleanos).
Tampoco me queda claro sin la intención de "elegir" es que las fechas aparezcan en algún lugar de la hoja o sean resaltadas en el calendario. Esto último podría hacerse con formato condicional, cualquier otra opción requeriría el uso de macros.
estimado Sr. Dunkelman:
ResponderBorrarQuizá no me expresé con suficiente claridad o precisión, por lo cual me tomo el atrevimiento de molestarlo nuevamente.
Mi necesidad concreta consiste en poder hacer automáticamente un listado de fechas en una columna a mi elección, que respete estas condiciones:
Dicho listado debería comprender determinados días de la semana, por ejemplo, los primeros y terceros lunes de todos los meses comprendidos entre dos fechas, como ser, el 3 de marzo y el 11 de diciembre, con posibilidad de excluir un período intermedio de fechas, tales como las que hay entre las vacaciones de invierno; asimismo, para el caso de que exista un mes con cinco lunes, que excluya este y pase al siguiente, salvo elección contraria. Los valores del díasem(), así como si se trata de primeros, segundos, terceros o cuartos, se definirían en sendas celdas, así como las fechas de inicio y fin del período, y las del plazo excluído.
Lamentando molestarlo con mi ignorancia, quedo de Ud. agradecido por cualquieer ayuda u orientación.
Eduardo Daniel Vázquez
Dada la complejidad de la tarea y el hecho que lo que se quiere es crear una lista, no calcular un valor, la opción más razonable es programar una macro.
ResponderBorrarHola, Excelente blog.
ResponderBorrarTengo una consulta.
Tengo dos calendarios uno de Check-in y otro de Check-out.
Al escoger en el Calendar1 la fecha check-in se cierra dicho calendar y se abre el de Check-out.
Este calendar2 se abre con la fecha de hoy y lo que quiero es que comience a partir de la fecha Check-In.
Es posible realizar esto??
saludos
Alvaro
Alvaro,
ResponderBorrarse puede hacer, pero tendrás que usar Vba (macros). El calendario es un objeto y la fecha que muestra es unapropiedad que puede ser establecida programáticamente. A pesar de no estar directamente relacionadoa con el tema, esta nota te puede dar una orientación.
Buenos días,
ResponderBorrarGracias por tus aportaciones. Me gustaría preguntarte si habría algún método para poder pasar algunos datos de una tabla excel donde se ordenan las entregas de distintos proyectos por fechas, a un calendario (mensual por ejemplo), donde en las casillas correspondientes a los días de entrega aparezcan los nombres de los proyectos a entregar, de forma que de un solo golpe de vista se vean las citas que hay a lo largo del mes. Si fuese posible, ¿sería muy complicado?
Muchas gracias por anticipado y Felices Fiestas!
Se puede hacer en Excel, pero no es una tarea sencilla. Pero, ¿por qué no usar Outlook que supongo que tienes instalado con el paquete de Office?
ResponderBorrarSi quieres hacerlo con Excel puedes echarle un vistazo a mi Planificador de Proyectos.
Hola Jorge y antes de nada gracias por tu respuesta.
ResponderBorrarHe estado mirando tu planificador, pero no es lo que necesito, de todas formas de nuevo gracias y un saludo.
NECESITO CREAR UNA LISTA EXEL DE CALENDARIO DIA A DIA DESDE 5000 ANTES DE CRISTO,,,, COMO LO LOGRO?????
ResponderBorrarFijate en esta nota.
ResponderBorrarHola Jorge,
ResponderBorrarEstoy intentando aplicar tus conocimientos para crear un calendario en un formulario para ejecutarse con excel 2007. El problema lo tengo con que lo estoy desarrollando desde un Excel 2010 y debe ser compatible en ambos (o por lo menos en el 2007). No me puedo instalar el complemento MSCAL porque no tengo permisos de administración. Una solución sería hacerme un calendario en un listbox o similar o se te ocurre algún consejo mejor?
Muchas gracias de antemano y enhorabuena por tu blog!
Hola Fran
ResponderBorrarfijate en esta nota.
Buenas tardes,
ResponderBorrarEn incluido el control de calendario en una hoja Excel usando este tutorial, pero me surge el siguiente problema. Creo el calendario, le doy formato y pongo el tamaño a mi gusto. Pero cuando cierro el libro y lo vuelvo a abrir, el calendario ha encogido de tamaño. He intentado de mil formas hacer que el calendario mantenga el tamaño con el que yo lo dejo, pero es imposible. Siempre que abro el libro de nuevo, sale más pequeño.
Por favor, ¿me puedes ayudar a entender qué pasa?
Muchas gracias.
¿Qué versión de Excel estás usando? ¿Puedes enviarme el archivo?
ResponderBorrarSaludos, Sr. Dunkelman.
ResponderBorrarA ver si puede ayudarme con este problema. He creado un control ActiveX de imagen en una hoja de Excel 2007. Al clicarlo, y mediante programación VBA, hago que se cree un control de calendario y lo activo. Una vez elegida una fecha en él, ésta se recoge en una celda y el control de calendario se borra. El problema es que cada vez que se crea y activa el control de calendario al clicar sobre la imagen, se abre también la ventana "Propiedades de calendario". Hay que dar a Cancelar para poder operar con el calendario como se ha descrito arriba. He intentado definir esas propiedades en tiempo de ejecución pero no logro evitar esa ventana. ¿Alguna idea?
Muchas gracias por su atención.
Tendría que ver la hoja y el código. Puedes mandármela por mail privado (fijate en el enlace Ayuda, en la parte superior de la plantilla).
ResponderBorrarNecesito utilizar el calendario para contar los dias laborados por un trabajador. COMO PODIA HACER ESTO? gracias
ResponderBorrarPara contar los días trabajados todo lo que hay que hacer es una resta (fechas actual - fecha del comienzo), o usar la función SIFECHA, o DIAS.LAB.
ResponderBorrarHola, necesito su ayuda. Estoy tratando de hacer una hoja para cada miembro de la iglesia en donde incluyo su diezmo y ofrenda. Me gustaria que la hoja incluya todos los sabados y domingos del 2015 solamente, para luego poder hacerle la hoja de diezmos para su planilla de contribucion. Como le incluyo las fechas que necesito.
ResponderBorrarEstimado, te sugiero que me envíes el archivo por mail (fijate en el enlacec Ayuda, en la parte superior del blog).
ResponderBorrar