Utilizar fechas en una macro

Lo que quiero hacer es crear una macro que varíe dependiendo de las fechas que tengo. La idea es tener 3 líneas: en una línea tener una fecha de inicio y en otra línea una fecha de finalización, y en la ultima un botón para crear la tabla. Por ejemplo: si mi inicio es 1/1/2016 y mi final 30/4/2016, al apretar el botón de "crear tabla" la macro debería crear una nueva pestaña con una tabla que incluya los meses de enero, febrero, marzo y abril de 2016, uno en cada columna. Pero si mi fecha va hasta el 30 de junio, que también estén mayo y junio, y así para cualquier fecha que yo decida poner.

Respuesta
2

Te anexo la macro

Sub CrearTabla()
'Por.Dante Amor
    Application.ScreenUpdating = False
    If [C2] = "" Or [C3] = "" Then
        MsgBox "faltan fechas"
        Exit Sub
    End If
    If Not IsDate([C2]) Or Not IsDate([C3]) Then
        MsgBox "fechas inválidas"
        Exit Sub
    End If
    If [C3] < [C2] Then
        MsgBox "Fechas incorrectas"
        Exit Sub
    End If
    '
    meses = Evaluate("=DATEDIF(C2,C3,""m"")") + 1
    n = 0
    año = Year([C2])
    mes = Month([C2]) + n
    Set h = Sheets.Add
    For i = 1 To meses
        fec = DateSerial(año, mes + n, 1)
        n = n + 1
        h.Cells(1, n) = fec
    Next
    h.Rows("1:1").NumberFormat = "mmm/yyyy"
    h.Select
End Sub

También te anexo mi archivo para que veas el funcionamiento:

https://www.dropbox.com/s/gwciovsuxhllojj/crear%20tabla.xlsm?dl=0 


Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas