excel – VBA changes a variable defined as Date to string

I have defined the variables finicio and ffin as Date to save dates entered with two inputboxes. ffin is kept as Date but finite is converted to String. The two variables receive exactly the same treatment.

Forcing the conversion to Date with CDate (finicio) does work but I would like to know why this is happening …

Sub CalculadoraAƱos()


    Dim fn, fMax, fMin, finicio, ffin As Date

    'Fecha actual
    fn = Date
    Range("D4") = fn

    'Fecha maxima
    fMax = DateAdd("m", -1, fn)
    Range("D6") = fMax

    'Fecha minima
    fMin = DateAdd("yyyy", -5, fn)
    Range("D5") = fMin

    'Fecha inicio
    finicio = InputBox("Pega la fecha de inicio: ")
    Range("D7") = finicio

    'Fecha fin
    ffin = InputBox("Pega la fecha de fin: ")
    Range("D8") = ffin

End Sub