Hacer con macros esta fórmula sin limite de registro.

Espero me puedan ayudar, como puedo calcular esta fórmula desde VBA para procesar el ranking.

=SI(D4>=1; 1+SUMAPRODUCTO(($C$4:$C$24=C4)*(($D$4:$D$24+FILA($D$4:$D$24)/10000)>D4+FILA(D4)/10000));"")

1 respuesta

Respuesta
1

Prueba con esta macro, toma todos los datos y le pone la fórmula a todos al mismo tiempo, es mucho más rápido que un bucle for, for each o un while

Sub FORMULAR()
Set DATOS = Range("A3").CurrentRegion
With DATOS
    FILAS = .Rows.Count
    Set DATOS = .Rows(2).Resize(FILAS - 1)
    RANGOC = .Columns(3).Address
    RANGOD = .Columns(4).Address
    CELDAC = Range("C4").Address(0, 0)
    CELDAD = Range("D4").Address(0, 0)
    .Columns(5).Formula = "=IF(" & CELDAD & ">=1; 1+SUMPRODUCT((" _
    & RANGOC & "=" & CELDAC & ")*((" & RANGOD & "+ROW(" & RANGOD & ")/10000)" & _
    ">" & CELDAD & "+ROW(" & CELDAD & ")/10000));" & """""" & ")"
End With
Set DATOS = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas