Haremos un ejemplo mediante fórmulas la cual me avisara en una celda si el año es bisiesto o no. Lamento pero no resuelvo consultas con VBA, pero estoy seguro que la lógica y las fórmulas te ayudaran al momento de calcular lo que deseas en un formulario. CASO A) CON FECHA: 1.- Vamos a trabajar en un libro nuevo y en Hoja 1 vamos a colocar algunos valores [A1] 12/02/08 [A2] 12/02/09 [A3] 12/02/10 [A4] 12/02/11 [A5] 12/02/12 Como veras es las misma fecha, lo que varia son los años. Esto es asumiendo que el dato que vas a partir es DE UNA FECHA. Haremos 2 ejemplos, uno como dato inicial la FECHA y el otro cuando se trate específicamente de un AÑO. 2.- En la celda B1 hacer la siguiente fórmula: =FECHA(AÑO(A1);1;1) [Fijate si tu separador de argumentos en las funciones es punto y coma o coma. Yo he utilizado punto y coma ";"] 3.- Ahora haremos otra fórmula, pero en la celda C1. Escribir lo siguiente: =FECHA(AÑO(A1)+1;1;1)-1 4.- La fórmula en B1 y C1 te dará el primer día y ultimo día del año. Compruébalo! 5.- Ahora en la celda D1 haremos una diferencia de fechas. Hacer en D1 lo siguiente: =C1-B1+1 6.- Arrastra las celdas con fórmulas hasta la fila 5. 7.- El resultado en D1 debería ser 366 8.- Si no sale el numero tal cual no te preocupes. Selecciona la celda D1, luego Ir a Menu Formato / Celdas / Numero. Allí escoge la opción "General" en la opción Categoría 9.- Rellena estas fórmula hasta abajo hasta la fila 5. 10.- Los resultados de la columna DE deben ser: 366, 365, 365, 365 y 366 11.- Haremos ahora un aviso en una celda que nos diga si es bisiesto o no. 12.- Selecciona la celda E1 y escribe la fórmula en ella: =SI(D1=366;"Es bisiesto";"No es bisiesto") 13.- El resultado hecho con esta fórmula arrastralo hasta E5 Listo hemos terminado, partiendo de una fecha. AHora con este otro ejemplo partiremos de una año. Ojo, he querido mostrarte paso a paso como se hizo el desarrollo del problema CASO B) CON AÑO: 1.- En otra Hoja, que puede ser Hoja 3, ingresemos algunos valores: [A1] 2008 [A2] 2009 [A3] 2010 Hemos escrito los datos. 2.- Ahora las fórmulas siguientes escribiremos así En la celda [B1]:... Primer día del año =FECHA(A1;1;1) En la celda [C1]:........... Ultimo dia del año =FECHA(A1+1;1;1)-1 En la celda [D1]: ......... Diferencia de dias entre el ultimo y primer dia del año =C1-B1+1 En la celda [E1]: ......... Mensaje =SI(D1=366;"Es bisiesto";"No es bisiesto") 3.- Arrastra las fórmulas hechas en la primera fila, hasta la ultima fila, que es en la fila 3 Espero haber sido lo más explicito posible para conseguir lo que deseas. Mi explicación espero que te haya servido. No te olvides de finalizar y puntuar la respuesta al final de la página
Suele suceder que este sitio, falla en avisar a quienes preguntan que su pregunta ya obtuvo respuesta. Lo cierto es que esta pregunta pendiente, junto a la de muchos otros usuarios más, impide que me hagan más preguntas por haber llegado a un límite. Estimo que mi respuesta debería haber resuelto tu problema o ayudado en lo máximo posible para su resolución. Por ello, te pido que finalices esta pregunta (con algún comentario y revisando la puntuación asignar) o, eventualmente, me vuelvas a preguntar si te hubiese quedado alguna duda.
Disculpa por la demora en la respuesta, pero tuve un pequeño percance. Probé la rutina y funciona a la perfección, Muchas gracias experto.