Ecco!
- Codice: Seleziona tutto
Sub CalRitA()
UR = Range("B" & Rows.Count).End(xlUp).Row
Application.Calculation = xlManual
For CCA = 20 To 55
N1 = Cells(8, CCA).Value
N2 = Cells(9, CCA).Value
AmboC = N1 & "-" & N2
If N1 > N2 Then AmboC = N2 & "-" & N1
For RR = UR To 14 Step -1
For CCB = 2 To 6
NB1 = Cells(RR, CCB).Value
For CCC = CCB + 1 To 7
NB2 = Cells(RR, CCC).Value
AmboB = NB1 & "-" & NB2
If AmboB = AmboC Then
Application.EnableEvents = False
Cells(10, CCA).Value = (UR - RR)
Application.EnableEvents = True
GoTo SaltaCCA
End If
Next CCC
Next CCB
Next RR
SaltaCCA:
Next CCA
Application.Calculation = xlCalculationAutomatic
End Sub
Questa macro la puoi richiamare alla fine del ciclo della macro generale
In questo modo sarà tutto automatizzato
Edit:
Pensavo che se tu utlizzassi una riga superiore a quella degli ambi esempio la riga 4 (invece della 10)
potresti, con una formula situata a fianco (es: S4), avere il max ritardo attuale (o minimo) con una formula di questo tipo:
- Codice: Seleziona tutto
=CERCA.ORIZZ(MAX(T4:BC4);T4:BC9;5;FALSO) &" " & CERCA.ORIZZ(MAX(T4:BC4);T4:BC9;6;FALSO)
Riassumendo:
attiva la macro postata e, per il momento come test, copia i risultati nel range T10:BC10, incollandoli in T4:BC10
poi copi la formula appena postata e incollala in S4
Ciao
EDIT ore 22:30 - Aggiunta considerazione...