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 Avatar3 » 13/07/11 04:31

Beh allora se vuoi una cosa veloce
(Seleziona l'inero riquadro e da Modifica Cancella -> Formattazione, avrai i numeri semplici e puoi provare l'efficienza della macro usando solo questo codice)

Codice: Seleziona tutto
Sub FormattazioneCelle()
    Range("D312").Font.Bold = True
    Range("D312").NumberFormat = "00"
    Range("D312").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
    Selection.FormatConditions(1).Interior.ColorIndex = 4
For RR = 312 To 334 Step 2
    For CC = 4 To 24 Step 2
        If CC = 4 And RR = 312 Then GoTo SaltaCC
        Range("D312").Copy
        Cells(RR, CC).PasteSpecial Paste:=xlPasteFormats
        Application.CutCopyMode = False
SaltaCC:
    Next CC
Next RR
End Sub


E' anche d'effetto perché, non avendo bloccato l'aggiornamento schermo, la vedi all'opera ;)
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

Sponsor
 

Re: Formula Excel

Postdi Lucio Peruggini » 13/07/11 12:46

Ciao Avatar e buona giornata.
Intanto grazie per l’aiuto continuo. Ho provato la tua macro su un altro foglio laddove il riquadro non ha formattazioni e le celle sono tutte a “00” ma non funziona; Mi dà errore di compilazione (prevista End Sub) che suppongo non sia nulla di rilevante ed io non capisco dove intervenire.


Peraltro, inconsapevolmente mi hai condotto ad un altro progetto che avevo in mente è molto inerente al lavoro svolto fin’ora, il quale coinvolge sia pure indirettamente la statistica ottenuta da Flash e Paciola.
Con un facsimile di questa macro e con un input box da gestire; di fatto possiamo cercare in “archivio” tutte quelle cinquine con al loro interno più numeri di una stessa decina e, poiché “sincroni”, dovrebbero avere maggiori probabilità di successo in base alle percentuali ottenute dal programma di Flash.
L’unico inghippo:
Lo presento qui, oppure apro un altro topic laddove chiunque può intervenire senza che tu sia direttamente coinvolto?
Ricordo: questo per me è un passare il tempo e quindi nulla di tanto importante come tal’une necessità per lavoro che molti utenti hanno e che in qualche modo hanno diritto a precedenze.
Ciao


Immagine

Immagine

http://postimage.org/image/eur71wdg/
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 13/07/11 14:29

Peraltro, inconsapevolmente mi hai condotto ad un altro progetto che avevo in mente è molto inerente al lavoro svolto fin’ora, il quale coinvolge sia pure indirettamente la statistica ottenuta da Flash e Paciola.


Ho fatto qualche indagine, non ne vale la pena.

Qindi, nulla di fatto.
Grazie comunque.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 13/07/11 18:15

Per quanto riguarda la macro devi non averla copiata interamente (manca l'End Sub?)

Comuque prova questa che funziona anche su un foglio completamente vuoto
Codice: Seleziona tutto
Sub FormattazioneCelle()
    Range("D312").Font.Bold = True
    Range("D312").NumberFormat = "00"
    Range("D312").FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
    Range("D312").FormatConditions(1).Interior.ColorIndex = 4
For RR = 312 To 334 Step 2
    For CC = 4 To 24 Step 2
        Range("D312").Copy
        Cells(RR, CC).PasteSpecial Paste:=xlPasteFormats
    Next CC
Next RR
        Application.CutCopyMode = False
End Sub


EDIT: Modificata successivamente
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 » 13/07/11 18:40

A dire il vero avevo ancro provato ad inserire "End Sub" e tutt'ora ho riprovato ma mi da comunque errore.

Questa che invece hai inserito ora va benissimo!!! Grazie
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 13/07/11 18:41

Fai attenzione ti ho visto in linea mentre modificavo ulteriormente la macro
è più "snella": non ci sono salti e condizioni che prima aveva
se hai copiato quest'ultima dopo l'edit ok altrimenti preleva quella che vedi ora qui su ;)


Ps. Per chiarire la macro precedente che dava errore prevedeva che fosse selezionata la cella D312
Codice: Seleziona tutto
Selection.FormatConditions(1).Interior.ColorIndex = 4

Se non era selezionata quella cella all'avvio forniva errore
corretta con Range.(...
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 » 13/07/11 19:54

http://postimage.org/image/1y3anp5fo/

Quella che ho scaricato funziona bene, come vedi ho cambiato anche il colore; ma c'è un però:

Nel foglio dove ho le statistiche e che ora le celle in questione sono formattate e quindi già colorano quanto devono, inserendo questa macro in quel foglio, devo accodare alla macro esistente questa? E' per capire il funzionamento di più macro insieme.
Oppure, una volta completata la scansione dei vari blocchi come faccio a far partire questa macro che colora le celle con valore "00"?

Tutto sommato, mi sembra che posso lasciare le celle già formattate come sono poichè Al ritardo "00" colorano la cella.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 13/07/11 20:18

La macro formatta quel range una volta per tutte
non occorre farla riavviare ogni volta
perché la mcro che scansiona i blocchi inserisce solo i valori all'interno di celle fomattate quindi assumeranno sia il colore condizionato che il numero a due cifre.

Ho visto che hai cambiato colore inserendo il blu ma...
in questo caso farei il font bianco perché secondo me il nero su quel blu è illeggibile cosa che mi sembrava di capire fosse per te una cosa importantissima
Quindi aggiungi la riga indicata nel seguente codice
Codice: Seleziona tutto
 
    Range("D312").FormatConditions(1).Interior.ColorIndex = 4  '<<<<<< esistente
    Range("D312").Font.ColorIndex = 2                     '<<<<<< aggiungere
For RR = 312 To 334 Step 2                                                '<<<<<< esistente
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 » 13/07/11 20:31

La macro formatta quel range una volta per tutte
non occorre farla riavviare ogni volta


Ok, perfetto

Ho visto che hai cambiato colore inserendo il blu ma...
in questo caso farei il font bianco perché secondo me il nero su quel blu è illeggibile cosa che mi sembrava di capire fosse per te una cosa importantissima
Quindi aggiungi la riga indicata nel seguente codice


Avevo messo il blu per provare ma potrei anche mettere il giallo o altro colore più chiaro. Comunque ho inserito anche quest'ultima che modifica il font di bianco, all'occorrenza tutto è buono. Grazie.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 13/07/11 22:06

:)
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 » 14/07/11 21:53

Ciao Avatar e buona serata

Credo proprio che con il lotto come sul dirsi, sia arrivato alla frutta; almeno fino a quando non mi verranno nuove idee. E fintanto che posso passarci qualche ora o nottata giusto per stare allerta. L’ho spulciato da capo a fondo e sinceramente non so più cos’altro inventarmi; ogni statistica ha la sua storia e tutte, alla fine, risultano più o meno eguali. Per poter afferrare qualche buon risultato bisogna avere un portafoglio pieno di soldoni, altrimenti non si riesce a seguirlo fino in fondo (causa, come già accennato, INIQUITA).

Avrei ancora quest’ultima cortesia da chiederti:
Si tratta di tre numeri per ambo a tutte le ruote. Ovviamente ho eliminato la ruota Nazionale poiché non contemplata per il gioco a tutte; e il posto che prima occupavano le ruote (range BG:DD RIGA 1) ora è occupato dalle terzine.
Quindi un solo blocco che contempla il gioco a tutte le ruote e sotto l’archivio nessun ritardo. E’ sufficiente la riga 305 che segna i ritardi di minimo due numeri; sotto la quale abbiamo la griglia laddove però dobbiamo poter inserire fino a cinque numeri.

Pensi di poter adattare una delle tante macro per questo lavoro forse più semplice, penso, ma probabilmente più efficace visto che mette in gioco da minimo 3 ambi a un massimo di 10 per ogni gruppo per l’appunto da colonna BG a DD?

Grazie per l’attenzione che vorrai porre a questo nuovo progettino.
Allego file excel e foto

Immagine

http://www.filedropper.com/ambiatuttev1
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 14/07/11 21:59

Lucio Peruggini ha scritto:Ciao Avatar e buona serata

Credo proprio che con il lotto come sul dirsi, sia arrivato alla frutta; almeno fino a quando non mi verranno nuove idee. E fintanto che posso passarci qualche ora o nottata giusto per stare allerta. L’ho spulciato da capo a fondo e sinceramente non so più cos’altro inventarmi; ogni statistica ha la sua storia e tutte, alla fine, risultano più o meno eguali. Per poter afferrare qualche buon risultato bisogna avere un portafoglio pieno di soldoni, altrimenti non si riesce a seguirlo fino in fondo (causa, come già accennato, INIQUITA).

Avrei ancora quest’ultima cortesia da chiederti:
Si tratta di tre numeri per ambo a tutte le ruote. Ovviamente ho eliminato la ruota Nazionale poiché non contemplata per il gioco a tutte; e il posto che prima occupavano le ruote (range BG:DD RIGA 1) ora è occupato dalle terzine.
Quindi un solo blocco che contempla il gioco a tutte le ruote e sotto l’archivio nessun ritardo. E’ sufficiente la riga 305 che segna i ritardi di minimo due numeri; sotto la quale abbiamo la griglia laddove però dobbiamo poter inserire fino a cinque numeri.

Pensi di poter adattare una delle tante macro per questo lavoro forse più semplice, penso, ma probabilmente più efficace visto che mette in gioco da minimo 3 ambi a un massimo di 10 per ogni gruppo per l’appunto da colonna BG a DD?

Grazie per l’attenzione che vorrai porre a questo nuovo progettino.
Allego file excel e foto

Immagine

http://www.filedropper.com/ambiatuttev1



Dimenticavo:

Il foglio storici chiaramente è ridotto ad un solo riquadro che contempla il ritardo di minimo due numeri.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 14/07/11 22:22

Mi sfuggiva qualcosa.

Foglio "Storici"

In realtà ci sono tre gruppi:

Il primo (B:U) marca gli storici di tre numeri
Il secondo (W:AP) marca gli storici di quattro numeri
Il terzi (AR:BK) marca gli storici di cinque numeri.

Altrimenti se lasciassimo un solo gruppo, mischieremmo gli storici.

ciao

Edito:

Volendo, forse sarebbe ancora più pratico avere anche nel primo fogli tre blocchi.

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

Re: Formula Excel

Postdi Lucio Peruggini » 14/07/11 23:04

Lucio Peruggini ha scritto:Mi sfuggiva qualcosa.

Foglio "Storici"

In realtà ci sono tre gruppi:

Il primo (B:U) marca gli storici di tre numeri
Il secondo (W:AP) marca gli storici di quattro numeri
Il terzi (AR:BK) marca gli storici di cinque numeri.

Altrimenti se lasciassimo un solo gruppo, mischieremmo gli storici.

ciao

Edito:

Volendo, forse sarebbe ancora più pratico avere anche nel primo fogli tre blocchi.

Scusa



SCUSAMI AVATAR, SONO STATO TROPPO FRETTOLOSO NELL'ESPORRE IL QUESITO.

Nel primo foglio, ogni terzia deve essere controllata in archivio su tutte le ruote mentre ora ogni terzina va a prendersi le uscite della singola ruota.

In pratica ci va una terzina per blocco.

Fammici pensare un po meglio perchè probabilmente 10 terzine, 10 quartine, 10 cinquine sono troppe. Spero tu non abbia iniziato nessuna correzione. :undecided:
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Avatar3 » 14/07/11 23:58

Non ti preoccupare io ero a cena fuori mentre tu facevi questi "pensieri ad alta voce"
quindi penso che ti abbiano ascoltato gli altri e nessuno ti ha risposto

io aspetto tue nuove (e certe)
nuove che sono sempre "intriganti" ;)
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 » 15/07/11 00:47

Meglio così, non hai lavorato inutilmente; grazie.
Lucio P.
Versione Office - 2013
Lucio Peruggini
Utente Senior
 
Post: 890
Iscritto il: 24/01/11 16:23

Re: Formula Excel

Postdi Lucio Peruggini » 15/07/11 13:51

http://www.filedropper.com/tutteleruotev11

Immagine


Ciao Avatar,

Allora, abbiamo tre blocchi e ognuno d’essi contiene solamente una formazione (superfrequente) a tutte le ruote.

1° una terzina o tre ambi.
2° una quartina o sei ambi.
3° una cinquina o 10 ambi.

Blocco 1
Foglio 1 (BG:DD) Storici (A:T)

Blocco 2
Foglio 1 (DQ:FN) Storici (V:AO)

Blocco 3
Foglio 1 (GA:HX) Storici (AQ:BJ)

La riga 305 marcherà il ritardo dall’ambo in poi per tutti i blocchi.

Nella cella singola a destra dei numeri inseriti abbiamo la totalità di ambi del range (BG3:DD302) la quale, in caso di uscita del terno conteggia tre ambi.
Nel secondo blocco avendo quattro numeri conteggerà oltre agli ambi singoli, per i terni (tre ambi); per le quaterne (sei ambi).

Nel terzo blocco ovviamente, oltre ai terni e le quaterne in caso di uscita di cinquina, conteggerà dieci ambi.

Per gli storici si conta l’evento singolo; trattasi d’ambo, terno, quaterna o cinquina.

Ad ogni modo, questa cella che somma tutti gli ambi se troppo complicata per la macro, non v’è bisogno d’implementarla; la quantità di ambi usciti la ottengo con il mio programma.

Tutto qui. Ieri mi ero un pochino incasinato avendo lasciato i range per singola ruota.
Allego file

Ciao e ovviamente grazie.

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

Re: Formula Excel

Postdi Avatar3 » 16/07/11 17:33

Ho scaricato per due volte quel file e per due volte il mio convertitore non riesce a convertirlo in excel 2003
normalmente lo faccio senza problemi
dipenderà dal link?
prova un altro server host
o convertilo tu stesso in .xls (excel 2003)
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 » 25/07/11 15:04

Codice: Seleziona tutto
Sub ColATQC_più_Storici_su_foglio_prove()
Application.ScreenUpdating = False
Application.Calculation = xlManual

UR = 4460               '<<<<<<<<<<<<<<<<< ULTIMA ESTRAZIONE IN ARCHIVIO + 2 RIGHE VUOTE. ALLA 3 MARCA I RITARDI

Col = 19                '<<<<<<<<<<<<<<<<< PER MODIFICARE IL PASSO AVANTI E INDIETRO (CONTEGGIO EVENTI)

Passo = 68
PassoSt = 23
ColI = 59
ColF = ColI + 54
Worksheets("Foglio1").Select

Range("BG4463:IO4463").ClearContents         '<<<<<<<<<<<<<<<< RANGE TOTALE BLOCCHI (MARCA I RITARDI)


For Ciclo = 1 To 3      '<<<<<<<<<<<<<<<<< PER CAMBIARE LA QUANTITA' DEI BLOCCHI (DA 1 A......)

   
    Range(Cells(3, ColI + (Ciclo - 1) * Passo), Cells(UR, ColF + (Ciclo - 1) * Passo)).Interior.ColorIndex = xlNone
    SR = 0
    riga = UR + 13
    Col = Col + Passo
    For CC = 59 + (Ciclo - 1) * Passo To 113 + (Ciclo - 1) * Passo Step 5
        SR = SR + 1
        CCS = 1 + PassoSt * (Ciclo - 1) + (SR - 1) * 2
        riga = riga + 1
        Ambi = 0
        Terni = 0
        Quaterne = 0
        Cinquine = 0
        For RR = 3 To UR
            EV = 0
            ContaA = 0
            For CCR = CC + 0 To CC + 4
                If Val(Cells(RR, CCR)) > 0 Then
                    ContaA = ContaA + 1
                    If ContaA > 1 Then EV = 1
                End If
                Next CCR
                Select Case ContaA
                Case 2
                Ambi = Ambi + 1
                    CI = 15
                    Cells(4460, CC + 2).Value = UR - RR
                Case 3
                Terni = Terni + 1
                    CI = 4
                    Cells(4460, CC + 2).Select
                      Cells(4460, CC + 2).Value = UR - RR
                Case 4
                Quaterne = Quaterne + 1
                    CI = 33
                      Cells(4460, CC + 2).Value = UR - RR
                Case 5
                Cinquine = Cinquine + 1
                    CI = 45
                     Cells(4460, CC + 2).Value = UR - RR
                Case Else
                    CI = xlNone
                End Select
                Range(Cells(RR, CC), Cells(RR, CC + 4)).Interior.ColorIndex = CI
                If EV = 1 Then
                Conc = Cells(RR, 1)
                URS = Worksheets("Storici").Cells(Rows.Count, CCS).End(xlUp).Row
                ConcSt = Worksheets("Storici").Cells(URS, CCS).Value
                If Conc > ConcSt Then
                Worksheets("Storici").Cells(URS + 1, CCS).Value = Conc
                'Worksheets("Storici").Cells(URS + 1, CCS + 1).FormulaR1C1 = "=RC[-1]-R[-1]C[-1]"   '<<<< soluzione con formula
                Worksheets("Storici").Cells(URS + 1, CCS + 1).Value = Conc - ConcSt      '<<<<<  soluzione con valore
                End If
                End If
            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
    Next Ciclo
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub





Ciao a tutti

Nella macro esposta (di Avatar) ho allungato gli archivi che prima comprendevano solamente 300 estrazioni.

Il primo passo è stato quello di aggiungere altre estrazioni facendolo partire dall'estrazione 7440 e il tutto ha funzionato normalmente; ovviamente spostando i range necessari. In un secondo tempo ho poi allungato ulteriormente l'archivio facendolo partire dall'estrazione 3950 ma, in questo caso, non mi segna più la riga che comprende i ritardi; questa

Range("BG4463:IO4463").ClearContents '<<<<<<<<<<<<<<<< RANGE TOTALE BLOCCHI (MARCA I RITARDI)
dov'è il mio errore?

Dalla 7440 era la riga 970 che ora è divenuta 4463.

Immagine

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

Re: Formula Excel

Postdi Avatar3 » 25/07/11 16:29

Capire i passaggi che hai fatto
e inoltre noto molte differenze rispetto alla macro da me inviata specialmente nella Select Case
Ti consiglio di riprendere la macro originale che aveva quei ritardi sulla riga 305
e nel vba fai un trova/sostituisci
trova 305
sostituisci con 4463

Imposti il nuovo UR = 4460
e dovrebbe funzionare
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

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "Formula Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti