Grazie Flash, mi studierò il tutto con molta attenzione.
Alla prossima
Verdemont
Moderatori: Anthony47, Flash30005
Sub ContaEv5()
' Parte 1 - assegnazioni valori e azzeramento contatori
UR = Range("G" & Rows.Count).End(xlUp).Row 'conta le righe con dati nella colonna A
Range("L2:N10000").ClearContents ' pulisce le colonne C. D e E a senza eliminare la testata in riga 1
LE = Range("I2").Value '<<<<< il dato da ricercare
NE = Range("J2").Value '<<<< Numero presenze da cercare
MaxC = Range("K2").Value '<<<< In "J2" ho inserito la variabile max intervallo
Conta = 0 ' il contatore delle presenze
RRp = 2 ' riga dove scriverà i dati
RC = [H2] - 1 ' Azzeramento contatore per conteggio differenza righe
'<<<<<<<<<< fine parte 1
For RR = [H2] To [H3] 'ciclo for next da 1 alla fine delle righe esistenti
If Range("G" & RR).Value = LE Then Conta = Conta + 1 'condizione: se valore in cella G riga RR = al valore ricercato LE il contatore Conta aumenta di 1
If RR - RC = MaxC Then Range("L" & RRp).Value = Conta 'Se la differenza riga attuale - RC = MaxC allora scrive in colonna C riga RRp il valore di Conta
If Conta = NE Then Range("L" & RRp).Value = RR - RC ' condizione: se conta = NE scrive in colonna C riga RRp il valore della differenza riga attuale e RC
If Conta = NE Or RR - RC = MaxC Then 'in tutte e due le condizioni esegue il contenuto di questa If
Range("M" & RRp).Value = RC + 1 'riga inizio range
Range("N" & RRp).Value = RR ' in E il valore della riga attuale
Conta = 0 'azzera il contatore Conta
RRp = RRp + 1 'aggiunge 1 alla variabile RRp per scrivere nella riga successiva
RC = RR ' RC assume il valore di RR
End If 'Fine condizione
Next RR ' va alla riga successiva
' qui il ciclo For next è finito
Range("L" & RRp).Value = Conta ' scrive il residuo Conta
Range("M" & RRp).Value = RC + 1 ' Riga Iniziale
Range("N" & RRp).Value = RR - 1 'Riga finale è stato detratto 1 perché RR assume sempre un valore maggiore di quello stabilito alla fine del ciclo For Next
End Sub
'...
If Conta <> 0 Then '<<<<<<<<< Aggiungere questa riga
Range("L" & RRp).Value = Conta ' scrive il residuo Conta
Range("M" & RRp).Value = RC + 1 ' Riga Iniziale
Range("N" & RRp).Value = RR - 1 'Riga finale è stato detratto 1 perché RR assume sempre un valore maggiore di quello stabilito alla fine del ciclo For Next
End If '<<<<<<<<< Aggiungere questa riga
Endi Sub
Torna a Applicazioni Office Windows
Modidica Formula Somma I Riferimenti Autore: Francesco6918 |
Forum: Applicazioni Office Windows Risposte: 2 |
Excel: formula automatica per evidenziare prodotto scaduto Autore: gamma_ray |
Forum: Applicazioni Office Windows Risposte: 3 |
Salvare file excel in formato html escludendo le immagini Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 10 |
formula excel non visualizza risultato Autore: tommasog |
Forum: Applicazioni Office Windows Risposte: 6 |
Excel 2016 - Funzione SCARTO + INDIRETTO Autore: pl1957 |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 95 ospiti