Obtener fecha del mes pasado, ejemplo si estamos a 01/2018 busco obtener 12/2017 ( MM/YY )

Busco ayuda para que el programa me brinde los que le estoy pidiendo, estoy trabajando en una Macro para Excel para clasificar documentos de contabilidad con fecha del mes anterior, por ejemplo tengo esto como guía:
Sub fecha()

Dim fecha as Date

fecha = Date

MsgBox Day(fecha) & "/" & Month(fecha)&"/" & Year(fecha)

End Sub

Mi problema consiste en la transición Diciembre-Enero de cada año.

2 respuestas

Respuesta
2

Prueba con esta macro

Sub test()
Dim fecha As Date
fecha = Date
mes = Month(fecha) - 1
Dia = Day(fecha)
If mes = 0 Then mes = 12: pyear = Year(fecha) - 1
nmes = CDate(Dia & ("/") & (mes) & ("/") & pyear)
MsgBox ("mes anterior ") & nmes, vbInformation, "AVISO"
End Sub
Respuesta
1

Excel de calcula el mes anterior y año anterior en automático. Solamente tienes que restar al mes de enero un 1, en teoría 1 - 1 es igual a 0, pero excel te calcula 12 y en automático le resta un año a la fecha.

Sub fecha_mes_anterior()
    fecha = Date
    anterior = DateSerial(Year(fecha), Month(fecha) - 1, 1)
    MsgBox "el mes anterior a hoy es " & Month(anterior) & vbCr & _
           "el año anterior a hoy es " & Year(anterior)
End Sub

.

La fecha actual es 15-01-2018, pero con la instrucción DateSerial, cuando le restas un 1 al mes, excel te devuelve 12 y en año tienes 2017. En la variable anterior te pone la fecha 1-12-2017, de ahí ya puedes obtener el mes y año anteriores.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas