Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Formula Excel

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: Formula Excel

Postdi Lucio Peruggini » 01/07/11 00:45

CI RINUNCIO!

Non riesco in alcun modo a inserire la formula giusta. Ci ho provato!!! :(
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Sponsor
 

Re: Formula Excel

Postdi Avatar3 » 01/07/11 01:49

Prova a seguire questa guida

http://www.oneitoffice.it/04/03/2010/chiamiamo-per-nome-le-celle-di-excel/

Oppure più semplicemente così

Immagine
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 05:24

Immagine

Ho provato le tue dritte, mi sfugge qualche passaggio. Ad ogni modo, riprendendo il tuo foglio e selezionando la prima cella (Ba) mi sono accorto che con la nuova estrazione inserita la formula continua con il medesimo difetto; si ferma alla 301 che poi diventa 300 ecc. Non va nemmeno in questo modo, bhoo :(

Se vuoi puoi provare

Copia e incolla sotto una qualunque riga dall'archivio che c'è nel foglio;
togline una superiore;
e vedrai che la formula non mantiene Il range che si vorrebbe ottenere (3 - 302)

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 01/07/11 11:43

Ok
si può realizzare con un elenco dinamico ma se non trovi Definisci Nome (necessari per inserire la formula)

otteniamo lo stesso risultato utilizzando la macro che colora senza cicli in più
pertanto copia questa macro e cambia il valore Col ad ogni blocco
Codice: Seleziona tutto
Sub ColoraATQC()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UR = 302
Range("BG305:DI305").ClearContents

    Range("BG3:DI" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<1° BLOCCO
    riga = UR + 13
    Col = 94                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
    For CC = 59 To 113 Step 5
    riga = riga + 1

            Ambi = 0
            Terni = 0
            Quaterne = 0
            Cinquine = 0
        For RR = UR To 3 Step -1

                   ContaA = 0
                For CCR = CC + 0 To CC + 4
                    If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                Next CCR
            Select Case ContaA
            Case 2
            Ambi = Ambi + 1
                CI = 15
                If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
            Case 3
            Terni = Terni + 1
                CI = 4
                Cells(305, CC + 2).Select
                 If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
            Case 4
            Quaterne = Quaterne + 1
                CI = 33
                 If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
            Case 5
            Cinquine = Cinquine + 1
                CI = 45
                If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
            Case Else
                CI = xlNone
            End Select
            Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
        Next RR
        Cells(riga, Col).Value = Ambi
        Cells(riga, Col + 1).Value = Terni
        Cells(riga, Col + 2).Value = Quaterne
        Cells(riga, Col + 3).Value = Cinquine
    Next CC
   
   

   
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub


Per conoscere il numero Colonna puoi usare un sistema semplicissimo
Scrivi alla riga 340 della colonna A il numero 1 e in colonna B il numero 2 trascini fino alla fine delle colonne
poi prendi i riferimenti che ti interessano (94 corrisponde alla colonna Ambi)
dopo aver riportato i riferimenti nei blocchi cancelli la riga che ha usato per numerare le colonne
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 13:00

se non trovi Definisci Nome


Questa opzione l'ho trovata ma non riesco a farla funzionare, evidentemente sbaglio qualche passaggio che non è come excel 2003.

Pertanto, cosa facciamo?
Cosa dovrei fare per ottenere quanto dici?

Siegami e se non riesco ti illustro fotograficamente i vari passaggi; ci terrei a capire perchè non riesco.

Fammi sapere
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 01/07/11 13:51

Usa la macro postata qui su
è perfettamente funzionante
devi cambiare solo la variabile Col ad ogni blocco
non penso sia complicato, vero?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 16:59

LA MACRO E' PERFETTA :lol:

Non sono dovuto intervenire per i colori che in ogni range, fanno il loro lavoro come hanno sempre fatto. L'inchippo è un altro:

Marca la quantità solo sul primo blocco (vedi foto)


Immagine

Immagine

Immagine

Immagine

Allego macro così come lho impostata. Ci sono solamente quattro blocchi.


Codice: Seleziona tutto
Sub ColoraATQC()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    UR = 302
    Range("BG305:LE305").ClearContents

Range("BG3:DI" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<1° BLOCCO
        riga = UR + 13
        Col = 94                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 59 To 113 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("DW3:FY" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<2° BLOCCO
        riga = UR + 13
        Col = 94                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 127 To 181 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("GM3:IO" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<3° BLOCCO
        riga = UR + 13
        Col = 94                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 195 To 249 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("JC3:LE" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<4° BLOCCO
        riga = UR + 13
        Col = 94                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 263 To 317 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    End Sub



Comunque, ti sono immensamente riconoscente!!!
Grazie Avatar
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 01/07/11 17:14

Certo che marca solo sul primo blocco
non hai cambiato il valore della varibile "Col" come suggerito
Col = 94 corrisponde all'ambo del 1° blocco
tu devi trovare la colonna corrispondente all'ambo del 2° blocco e inserire il numero di colonna utilizzando la procedura indicata nel post precedente che ripeto qui
vai su una riga completamente vuota da altri dati
la 340 (credo)
scrivi 1 nella colonna A (quindi in A340 =1)
In B340 scriverai 2
trascini verso destra fino alla fine delle tue colonne (io ho excel 2003 e non supero le 256)
Ogni volta che incontri la tua tabella colonna Ambi (es. 2° blocco)
prendi quel numero della riga 340 e lo riporti nella macro
con
Col = Numero2°blocco
per il terzo blocco idem
fino alla fine
altrimenti scriverai sempre nella tabella del 1° blocco
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 17:37

Ok, nel frattempo ho notato che i valori inseriti nel blocco 1 sono errati; è sempre per lo stesso motivo? Ho riportato u valori esatti di fianco.

Immagine
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 01/07/11 17:50

Alla macro non "importa" se togli 10 righe e aggiungi dieci righe nell'intervallo previsto
non cambia i riferimenti del range che "esplora" l'importante è che non tolga le righe senza rimetterle (o aggiungi senza togliere) perché in quel caso si sposta la tabella ambi e troverai i valori fuori tabella

Il motivo credo dipenda dal fatto che tu vai a leggere i dati dei blocchi successivi e li vai a scrivere in un blocco diverso
fino a che non fai come ti ho detto

EDIT: ore 19:00
Facciamo questo tentativo
ho calcolato il passo da un tuo file precedente
quindi all'inizio della macro cambia il valore di Col in questa maniera
Codice: Seleziona tutto
Sub ColoraATQC()
Application.ScreenUpdating = False    '<<<<< lascia così
Application.Calculation = xlManual    '<<<<< lascia così
UR = 302                      '<<<<< lascia così
Col = 26       '<<<<<<<<<<< INSERISCI QUESTO VALORE QUI
Range("BG305:DI305").ClearContents '<<<<<<<< lascia così

    Range("BG3:DI" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<1° BLOCCO
    riga = UR + 13      '<<<<<<<<<<<< lascia così
    Col = Col + 68                '<<<< Cambiare solo questo valore e riportarlo su tutti i blocchi (calcola automaticamente la nuova colonna)
 
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 18:25

Immagine

Non mi sembra, questi valori sono stati ricavati con i filtri messi sulle colonne di appartenenza; in questo caso, il blocco 1.

Comunque, correggo e ti faccio sapere.

Dimenticavo:

Codice: Seleziona tutto
Range("BG305:DI305").ClearContents '<<<<<<<< lascia così


Per i quattro blocchi completi il range e questo: Range("BG305:LE305").ClearContents
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 01/07/11 18:49

Si quella riga mi riferivo al primo blocco ed era per farti capire dove dovevi mettere l'inizializzazione della variabile
Col = 26
che deve essere all'inizio
mentre in ogni blocco dovrai avere
Col = Col + 68
come riportato
così non devi fare alcun conteggio
sperando di aver tratto queste considerazioni da uno schema uguale al tuo
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 01/07/11 20:54

C'è qualcosa di sbagliato.
Come vedi dall'immagine mi inserisce i valori a sinistra, sintomo che abbiamo fogli di lavoro diversi. Ti aggiorno inviandoti solamente due blocchi ai quali seguono altri due con medesime distanze. Peraltro, i valori risultano sempre errati rispetto all'immagine che ti ho inviato precedentemente.

Immagine

http://www.filedropper.com/cartel1schemaattuale

Macro corretta secondo le tue indicazioni

Codice: Seleziona tutto
 Sub ColoraATQC()
    Application.ScreenUpdating = False
    Application.Calculation = xlManual
    UR = 302
    Col = 26       '<<<<<<<<<<< INSERISCI QUESTO VALORE QUI
    Range("BG305:LE305").ClearContents

Range("BG3:DI" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<1° BLOCCO
        riga = UR + 13
        Col = 68                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 59 To 113 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("DW3:FY" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<2° BLOCCO
        riga = UR + 13
        Col = 68                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 127 To 181 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("GM3:IO" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<3° BLOCCO
        riga = UR + 13
        Col = 68                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 195 To 249 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       
       
Range("JC3:LE" & UR).Interior.ColorIndex = xlNone   '<<<<<<<<<<<<<<<<<<<<<4° BLOCCO
        riga = UR + 13
        Col = 68                                  '<<<<<<<<<<<<< cambiare in funzione del BLOCCO
        For CC = 263 To 317 Step 5
        riga = riga + 1

                Ambi = 0
                Terni = 0
                Quaterne = 0
                Cinquine = 0
            For RR = UR To 3 Step -1

                       ContaA = 0
                    For CCR = CC + 0 To CC + 4
                        If Val(Cells(RR, CCR)) > 0 Then ContaA = ContaA + 1
                    Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(305, CC + 2).Select
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                     If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                    If Cells(305, CC + 2) = "" Then Cells(305, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
            Next RR
            Cells(riga, Col).Value = Ambi
            Cells(riga, Col + 1).Value = Terni
            Cells(riga, Col + 2).Value = Quaterne
            Cells(riga, Col + 3).Value = Cinquine
        Next CC
       
       

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    End Sub



Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 02/07/11 00:34

Già vedo dalla macro che non segui le indicazioni fornite:

Codice: Seleziona tutto
Col = Col + 68                '<<<< Cambiare solo questo valore e riportarlo su tutti i blocchi (calcola automaticamente la nuova colonna)


Nella tua macro trovo sempre
Col = 68
e non Col = Col +68

Ora guardo il file


EDIT:
Come immaginavo il passo è 68 (vedi immagine)

Immagine

Quindi segui le istruzioni
di inserire nei blocchi
Col = Col +68
Su tutti i Blocchi
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 02/07/11 03:27

AHI, AHI, HAI :roll: CHE ABBAGLIO!!!

FINAAAAALMENTE :lol:

GRAZIE E' UN CAPO LAVORO!!!


Vorrei approfittare per inserire un'ultima funzione a completamento di quest'ottimo lavoro in un foglio a parte; ma credo di averti stancato troppo con le mie continue richieste.

Magari più in la.

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 02/07/11 10:47

Se posso lo faccio volentieri

però promettimi di seguire le indicazioni fornite :D
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 02/07/11 13:16

OK, PROMESSO!!!

Aggiungo solamente che la mia è stata una sbadatezza.

Preparo il tutto a completamento di questa statistica.

Ciao
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 02/07/11 15:53

http://www.filedropper.com/statisticaperambi

Ciao Avatar

In pratica ho tre fogli

Sul primo, quello che già conosci foglio 1 (Archivio e statistica).
Il secondo, quello su cui si dovrebbe intervenire si chiama (Storici) laddove da quando ho potuto mettere in pratica buona parte della statistica, vi si trovano per i quattro blocchi tutti gli eventi (ambi – terni – quaterne – cinquine) usciti sequenzialmente e rappresentati dalla colonna (A) del foglio 1.
Nel primo foglio abbiamo una statistica dinamica (300 estrazioni) laddove gli esiti cambiano poiché aggiungiamo e togliamo. In questo foglio (Storici), la statistica rimarrà statica. Significa che da quando ho iniziato, la medesima è destinata a crescere nel tempo e quindi tutti gli esiti usciti rimarranno memorizzati.

Si tratterebbe di aggiungere alle colonne già esistenti tutti gli eventi che man mano usciranno.

Facciamo un esempio:

Attualmente nell’ultima estrazione (foglio 1 statistica), è uscito un ambo sulla ruota Nazionale Blocco 3 (settine) che io ho aggiunto manualmente; range BO44 estrazione 8397 ultima in archivio.

Quindi, ogni qual volta nell’ultima estrazione esce un evento oppure più d’uno, bisognerebbe aggiornare le colonne di pertinenza.

Supponiamo che stasera esca un evento (A-T-Q-C) sulla ruota di Firenze “blocco 1 cinquine per ambo” che attualmente ha 70 di ritardo ed è la più ritardata; nel foglio “storici” colonna E26 scriveremo l’estrazione di pertinenza che sarà 8398, mentre in quella accanto F26 faremo la differenza di (F26-F25). Il rimanente lo fanno le formule già inserite.
Allego file intero poiché anche con excel 2003 puoi verificare.

Spero di essere stato sufficientemente chiaro nell’esposizione.

Nota: Se viene più semplice memorizzare sin dall’inizio questi dati è uguale; non perdo un gran che. La statistica è iniziata da poco.

Grazie ancora per l’aiuto e il tempo che stai e state dedicando.
Un caloroso saluto
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 02/07/11 21:36

Al momento sono fuori sede e non posso dedicarmi
sto cercando di capire la logica dello Storico
ma il foglio "RL1R"? a cosa serve?
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Re: Formula Excel

Postdi Lucio Peruggini » 02/07/11 22:56

Quel foglio è un altra cosa , non centra con quanto bisogna avere nel foglio "storici" è solamente visiva.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Formula Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti