Macro sumatoria por fechas según condiciones

Os pego una funcion, ésta funcion debería sumar las fechas si la columna n es numerica y sume la columna p que la fecha sea superior a la de la celda k4, pero no lo hace correctamente, a continuación os pego la funcion

Function SUMARPORFECHA(celdafecha As Range, rango As Range)
Dim resultado
uf = rango.Range("O" & Rows.Count).End(xlUp).Row
resultado = 0
For i = 9 To uf
    If IsNumeric(rango.Cells(i, "N")) Then
        If IsDate(celdafecha) Then
            If rango.Cells(i, "P") > celdafecha Then
                resultado = resultado + rango.Cells(i, "O")
            End If
        End If
    End If
Next
SUMARPORFECHA = resultado
End Function

en la celda os pongo =sumarporfecha(k4;O:O)

1 respuesta

Respuesta
1

Si tu colocar como rango la columna O:O

Y luego creas la referencia rango.Range("O" & Rows. Count) eso ya no el columna

Range("C:C") es la columna C

Range("C:C"). Range("C:C") en la columna E... pues la segunda C es relativa con respecto a la primera... podrías corregir la macro... pero...

La verdad, ya haría el cálculo con una simple función de Excel, no veo la necesidad de crear una macro

=SUMA(SI(ESNUMERO(N:N)*(P:P>K4),O:O,""))

Y como es matricial la introduces con Ctrl+Shift+Enter

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas