Regresar a la Pagina de Inicio

23 de abr. de 2011

crear un calendario con funciones

Un lector necesita tener en su planilla de cálculos un almanaque que le muestre 6 meses. Si, como esos que generalmente las empresas o comercios regalan a su clientela, y que nosotros tan contentos colgamos de la pared o heladera. Esto también, al igual que siempre, tiene muchas formas de ser resuelto. Ya hablé en otras entradas sobre el control calendario (activeX), el cual puede ser inserto en nuestra hoja y de allí seleccionar la fecha que necesitemos. Una de las posibles soluciones sería colocar 6 de estos controles y listo. Pero habrá que ver si nuestro proyecto soporta este tipo de objetos, cosa que se complica si el archivo será utilizado en distintos ordenadores.
crearemos un calendario similar, solo con funciones.
[+/-] Ver el resto / Ocultar

4 comentarios:

Anónimo dijo...

Hola, tengo Excel 2007 y armé un calendario para registrar las vacaciones, y lo que hago es ingresar la fecha de inicio de vacaciones, luego la fecha final, y finalmente coloreo cada celda que se corresponde con las fechas ingresadas. Hay alguna función que automatice esta parte (la de colorear las casillas de los días de vacaciones)??? Desde ya muchas gracias. Raúl - rabel01@gmail.com

Damian Omar Silva dijo...

te dejo un archivo con el link al post que levanté con tu consulta:
http://damianexcel.blogspot.com/2011/12/colorear-fechas-con-formato-condicional.html

cualquier cosa me avisas.
gracias x tu mensaje

Anónimo dijo...

buenas tardes apoyandome en tu excelente funcion realice esta macro para obtener un calendario del año completo solo tienes que seleccionar la celda d5 y corres la macro lo que faltaria es agregar el formato deseado al calendario

Sub calendario2()
Dim i As Integer
Dim fecha As Date
Dim aumento As Integer
Dim s As Integer
Dim contador
s = 1
'tomo la fecha inicial de cualquier año
fecha1 = CDate(InputBox("ingrese la fecha, bajo el formato dd/mm/aaaa, Ejemplo: 01/12/2012 "))
'con un bucle recorro todos los meses del año inicio en 0 para que tome el mes de la fecha que le_
'anexamos al principio
contador = 0
For aumento = 0 To 11
contador = contador + 1
fecha2 = DateSerial(Year(fecha1), Month(fecha1) + aumento, Day(fecha1))
' voy aumentando un mes a la fecha inicial

fecha = DateSerial(Year(fecha2), Month(fecha2), Day(fecha2))
'para quenos quede la fecha a utilizar en la macro

año = Year(fecha) ' tomo el año de la fecha
mes = Month(fecha) ' tomo el mes de la fecha
inicio = Weekday(DateSerial(año, mes, 1), vbMonday) ' el dia inicial tomando en cuanta para mi gusto que lunes es el primer dia de la semana
fin = Day(DateSerial(año, mes + 1, 1) - 1)
j = 1 ' primer dia del mes
p = inicio ' de lun a vier que colocamos el valor de los dia dependiendo del mes
For x = 1 To fin


ActiveCell.Offset(j - 1, p - 1) = x
ActiveCell.Offset(-2, 0).Value = DateSerial(año, mes, 1)
ActiveCell.Offset(-2, 0).NumberFormat = "mmmm-yyyy"
ActiveCell.Offset(-2, 0).Interior.ColorIndex = Int(Rnd * 55) + 1

ActiveCell.Offset(-1, 0).Value = "Lu"
ActiveCell.Offset(-1, 1).Value = "Ma"
ActiveCell.Offset(-1, 2).Value = "Mi"
ActiveCell.Offset(-1, 3).Value = "Ju"
ActiveCell.Offset(-1, 4).Value = "Vi"
ActiveCell.Offset(-1, 5).Value = "Sá"
ActiveCell.Offset(-1, 6).Value = "Do"

If p = 7 Then
p = 0
j = j + 1

End If
p = p + 1
Next

ActiveCell.Offset(0, 9).Select
If contador = 3 Or contador = 6 Or contador = 9 Or contador = 12 Then
ActiveCell.Offset(9, -27).Select
End If


Next

End Sub

Damian Omar Silva dijo...

¿que formato necesitas aplicar?

Publicar un comentario en la entrada

Regresar a la Pagina de Inicio

ENTRADAS MAS RECIENTES (ULTIMAS 10)


las + vistas

10 ULTIMOS COMENTARIOS DE MIS LECTORES

Free counters!
blog de periodismo




GRAFICA RIO BRAVO
Serigrafia-Offset
Rosario - Santa Fe - Argentina
TE: 0341 4664028