Flash30005 ha scritto:Con macro puoi fare così
- Codice: Seleziona tutto
Sub ContaEv3()
UR = Range("A" & Rows.Count).End(xlUp).Row
Range("C2:C10000").ClearContents
LE = Range("B1").Value
NE = Range("B2").Value
MaxC = Range("B3").Value '<<<< In "B3" ho inserito la variabile max intervallo
Conta = 0
RRp = 2
RC = 0
For RR = 1 To UR
CMC = CMC + 1
If Range("A" & RR).Value = LE Then Conta = Conta + 1
If RR - RC = MaxC Then Range("C" & RRp).Value = Conta '<<<< Per dare priorità alle righe commentare questa riga
If Conta = NE Then Range("C" & RRp).Value = RR - RC
'If RR - RC = MaxC Then Range("C" & RRp).Value = Conta '<<<< Per dare priorità alle righe togliere questo commento
If Conta = NE Or RR - RC = MaxC Then
Conta = 0
RRp = RRp + 1
RC = RR
End If
Next RR
End Sub
C'è solo un dubbio ammettendo che in un range di 7 righe ci siano 4 simboli "P" e hai scelto sia la quantità 4 che max range 7 quale delle due condizioni è prioritaria?
Trovando 4 P dovrebbe trascrivere 7
ma soddisfa anche la condizione con 7 righe quindi dovrebbe trascrivere 4
La macro così impostata dà priorità alla quantita delle P (4 P) quindi scrive 7
Altrimenti commenta la riga evidenziata e togli il commento alla riga commentata
Fai sapere
ciao
EDIT ore 01:00 - modificata macro per dare possibilità di scelta priorità
Grazie infinite Flash, va bene così, ossia dare la priorità alle q.tà delle P.
Ho impostato il tutto anche con delle formule in modo tale che excel mi dia evidenza anche da quale a quale riga il valore richiesto (nel ns. esempio 4) è stato raggiunto.
Tuttavia vorrei chiederti un'ultimissima cortesia se posso. Vorrei modificare la macro in modo tale che mi dia evidenza anche della situazione eventi non ancora conclusi. Mi spiego:
date le variabili 4 eventi e range 11, excel mi dice che si sono verificati:
4 eventi su 7 dalla riga 1 alla riga 7
4 eventi su 5 dalla riga 8 alla riga 12
Tuttavia dalla riga 13 alla 18, benchè il range sia inferiore a 11, comunque si sono verificati degli eventi. Vorrei pertanto che excel comunque mi dicesse quanti eventi P si sono verificati (nell'es. gli eventi sono 2 su 6) benchè il range sia inferiore a 11. Quindi fermo restando range 11 sull'intervallo A:A, vorrei analizzare anche il residuo: