Я определил переменные finicio
и ffin
как Date
, чтобы сохранить даты, введенные в двух полях ввода. ffin
остается датой, но finicio
преобразуется в String
. Эти две переменные получают одинаковое лечение.
Принудительное преобразование в Date с помощью CDate(finicio)
работает, но я хотел бы знать, почему это происходит ...
Sub CalculadoraAños()
Sheets("Calculadora").Activate
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
mГ©todo InputBox возвращает String согласно она documentaciГіn . AsГ - итак, всегда ты будешь получать String в переменной который, как они показывают в другом ответе, его один Variant
segГєn ты declaraciГіn.
, Если бы ты это сделал explГ, - назначил встречу, возможно habrГ - в algГєn тип excepciГіn, получив String.