lunes, 13 de febrero de 2012

Mostrar un calendario en Excel 2007

Este pequeño ejemplo es para mostrarles como podemos con un poco de codigo jugar con los controles.
Para utilizar el calendario vamos al boton de Office (esquina superior izquierda) y elegimos el boton Opciones de Excel.
Una vez aqui se van a Personalizar - Todos los Comandos.
Una vez aqui en la lista busquen uno que diga mas controles o More Controls dependiendo de como configuren su idioma.
Ahora este icono les saldra al del boton rehacer.
le dan click y les aparecera una lista. Elijan el que dice Control de Calendario 12.0
ahora les aparecera un calendario:
le dan doble click les aparecera asi:
Private Sub Calendar1_Click()

End Sub
escriben este codigo debajo de click()
'Return the date in day/month/year format
'Then hide the calendar
    ActiveCell.NumberFormat = "d/m/yyyy"
    ActiveCell = Calendar1.Value
    Calendar1.Visible = False
con esto lo que hacemos es mostrar en la celda activa la fecha que marque el calendario.
ahora escribimos este codigo despues de End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'When any cell on the worksheet is selected, this routine runs.
    'If any cell in the range A3:A500 is selected, then show the calendar
    If Not Application.Intersect(Range("A3:A500"), Target) Is Nothing Then
    Calendar1.Left = Target.Left + Target.Width
    Calendar1.Top = Target.Top + Target.Height
    Calendar1.Visible = True
    Else
    Calendar1.Visible = False
    End If
End Sub
con este codigo le estamos diciendo a la hoja1 que si damos click en una celda fuera del rango A3:A5000 el calendario se oculta, caso contrario se ubicara a su derecha y en la parte inferior(eso lo pueden ver en las propiedades left y top que realiza una suma).
Para probar el codigo presionan F5 o el boton Play de color verde que aparece arriba y se van a la hoja y dan click en una celda fuera del rango que les puse antes y luego eligen una celda dentro del rango.
disculpen si no explico algunas partes del codigo, ya no tengo mucho tiempo como quisiera pero espero les sirva este ejemplo para que se enfrasquen mas en la programacion con excel y ver que con macros se pueden hacer muchas cosas :)

0 comentarios:

Publicar un comentario