Corregir esta macro del mes siguiente

Para quien me quiera ayudar esta macro comete un error cuando llego al mes de diciembre y tengo que sumar 1 mes más tira error y me tiene que tirar enero del año siguiente muhas gracias

Sub Colorear_sumar()
'Act. Aortiz
    For i = 5 To Range("A" & Rows.Count).End(xlUp).Row
        If IsDate(Cells(5, "A")) Then
        '
        fecha1 = Format(Cells(i, "A"), "mm/yyyy")
        año = Year(Date)
        mes = Month(Date) + 1
        '
        fecha2 = Format(CDate(mes & "/" & año), "mm/yyyy")
        '
            If fecha1 = fecha2 Then
                Total = Total + Cells(i, "E")
                Cells(i, "A").Interior.ColorIndex = 6
            Else
                Cells(i, "A").Interior.ColorIndex = xlNone
            End If
        End If
    Next
    Range("F2") = Total
    MsgBox "fin"
End Sub

2 respuestas

Respuesta
1

Ya te había enviado la macro corregida en esta pregunta

Corregir error en esta macro

Tienes que cambiar esta línea:

fecha2 = Format(CDate(mes & "/" & año), "mm/yyyy")

Por esta:

Fecha2 = Format(DateSerial(año, mes, Day(Date)), "mm/yyyy")

Quedaría así:

Sub Colorear_sumar()
    For i = 5 To Range("A" & Rows.Count).End(xlUp).Row
        If IsDate(Cells(5, "A")) Then
        '
        fecha1 = Format(Cells(i, "A"), "mm/yyyy")
        año = Year(Date)
        mes = Month(Date) + 1
        '
        fecha2 = Format(DateSerial(año, mes, Day(Date)), "mm/yyyy")
        '
            If fecha1 = fecha2 Then
                Total = Total + Cells(i, "E")
                Cells(i, "A").Interior.ColorIndex = 6
            Else
                Cells(i, "A").Interior.ColorIndex = xlNone
            End If
        End If
    Next
    Range("F2") = Total
    MsgBox "fin"
End Sub

Prueba y me comentas.

¡Gracias! dante como siempre excelente tu ayuda

Con gusto. R ecuerda regresar a valorar también la otra pregunta.

.

[Feliz año]

.

Respuesta
1

Creo que al año también le deberías sumar 1 a la fecha, más allá de eso una forma sencilla es la siguiente (creo que hay otras mejores, pero la que te dejo es muy fácil de hacer y por eso te la recomiendo)

'... Tu código...
fecha1 = ...
año = Year(Date) + 1
mes = Month(Date) + 1
If mes = 13 then mes = 1
fecha2 = ...
...

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas