Condividi:        

Esiste una formula excel per questo?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Esiste una formula excel per questo?

Postdi verdemont » 29/05/12 23:41

Grazie Flash, mi studierò il tutto con molta attenzione. ;)
Alla prossima
Verdemont
verdemont
Utente Junior
 
Post: 40
Iscritto il: 26/05/12 08:16

Sponsor
 

Re: Esiste una formula excel per questo?

Postdi verdemont » 31/05/12 20:43

Ciao Flash
ho provato a fare da solo ma non riesco a capire dov'è l'errore.
In pratica in H3 vorrei mettere il valore della riga finale da analizzare. Nell'esempio ho detto ad excel di esaminare dalla riga 2 alla 35 (valore in H3). Il problema è che nell'ultima cella della colonna M mi scrive che esamina dalla 36 alla 35 (addirittura va a ritroso):

Immagine


Io ho solo modificato il ciclo di for mettendo For RR = [H2] To [H3] laddove invece prima c'era For RR = [H2] To UR.
Dove sbaglio?
Codice: Seleziona tutto
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
verdemont
Utente Junior
 
Post: 40
Iscritto il: 26/05/12 08:16

Re: Esiste una formula excel per questo?

Postdi Flash30005 » 04/06/12 19:32

Devi sono aggiungere una condizione nell'ultima parte della macro, dove indicato

Codice: Seleziona tutto
'...
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


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Esiste una formula excel per questo?

Postdi verdemont » 06/06/12 20:48

Grazie ancora Flash, tutto chiaro ;)
verdemont
Utente Junior
 
Post: 40
Iscritto il: 26/05/12 08:16

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Esiste una formula excel per questo?":


Chi c’è in linea

Visitano il forum: marcoc e 56 ospiti