È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Elenco Ritardatari

  • Messaggi
  • OFFLINE
    Xeroxs64
    Post: 18
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 24/02/2020 09:23
    Buongiorno a Tutti Voi, Eccomi ancora qui, a richiedere un vostro aiuto se possibile.

    Ho creato degli elenchi per i ritardatari per le singole Ruote rilevati da un Archivio e riportati in una cartella, il mio problema e che no so come mettere in ordine decrescente i vari elenchi per ruota, penso che il problema è dovuto al fatto che sono tutti messi nella stessa cartella e stesse righe così facendo però non ho il risultato che cerco.

    Se trovo una soluzione riesco poi a creare il riassunto nella cartella "Ritardatari" con un semplice copia delle singole celle che cambieranno nelle future estrazioni.

    Chiedo un aiuto per una soluzione dinamica che mi permette di generare le tabelle Riassuntive.

    Spero di essere stato chiaro nella spiegazione del mio problema.

    Allego File per completezza.

    Grazie fin da ora
  • OFFLINE
    GiuseppeMN
    Post: 3.736
    Registrato il: 03/04/2013
    Utente Master
    Excel 2000 - 2013
    00 24/02/2020 14:27

    Buon pomeriggio, @Xeroxs64;
    credo si possa fare ma è un lavoraccio.

    Nel Foglio di lavoro "Ritardatari per Ruota" dovresti rendere numeri puri, quindi senza Formule, tutte i Campi "Numero" (Colonna "B", Colonna"E", Colonna "H" ... Colonna "AF")
    In questo modo toglieresti anche i riferimenti esterni, vedi in Cella "B4" e sottostanti:

    C:\Users\Nicola\Downloads\Lotto - Test per programmare\[Lotto - Analisi e Ricerche Estrazioni (version Test) - Con Macro.xlsm]Test ritardi Bari (2)

    Fatto, per ogni "ruota" ciò dovresti definire un NomeZona es:
    - Bari  ='Ritardatari per Ruota'!$B$4:$C$93
    - Cagliari ='Ritardatari per Ruota'!$E$4:$F$93
    - ecc ...
    Nel caso in cui questo possa essere compatibile con le tue esigenze, assieme, potremmo costruire assieme un Codice VBA abbastanza strutturato ma fattibile.

     

    Giuseppe



    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    Xeroxs64
    Post: 22
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 24/02/2020 16:11
    Ho eseguito quanto da Te proposto, ho anche creato dei nomi zona per ruota sperando che sia quello da Te proposto perchè non ho mai usato questo tipo di soluzione.

    Ti allego il file corretto con le tue osservazioni.

    Grazie
  • OFFLINE
    GiuseppeMN
    Post: 3.737
    Registrato il: 03/04/2013
    Utente Master
    Excel 2000 - 2013
    00 24/02/2020 17:11

    Buon pomeriggio, @Xeroxs64;
    perfetto.
    A questo punto è possibile ottenere l'ordinamento di ogni ruota.

    Prova ad utilizzare il "Registratore di macro":
    - Avvia il registratore di macro
    - Seleziona "Bari"
    - Dalla Barra "Dati" scegli "Ordina"
    - Togli il Flag da "Dati con intestazione"
    - Ordina per "Colonna "C"
    - Seleziona "Dal più grande al più piccolo"
    - Premi "OK"
    - Chiudi il "Registratore di macro"

    Avrai un Codice VBA registrato in un Modulo che ti permette di ottenere l'ordinamento che desideri per la "ruota di Bari".

    Ovviamente, con piccole modifiche al Codice già registrato puoi ottenere l'ordinamento voluto per ogni altra "ruota"; non farlo, il passo successivo, utilizzando la Funzione "Select Case", sarà quello di ottenere in automatico l'ordinamento di tutte le "ruote" e, sempre in automatico, la compilazione delle Celle nel Foglio di lavoro "Ritardatari"

    Un consiglio, nel Foglio di lavoro "Ritardatari" correggi in Cella "B15" "Venazia" in "Venezia"; volendo potresti aggiungere in Cella "Z4" "Tutte" oppure "Nazionale"

     

    Se hai problemi e se lo ritieni utile e opportuno ti posso aiutare.

    Giuseppe



    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    Xeroxs64
    Post: 24
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 24/02/2020 17:15
    Grazie per la risposta ci provo cosi è utile per migliorare la conoscenza di Excel, spero di riuscirci ti farò sapere.
  • OFFLINE
    GiuseppeMN
    Post: 3.738
    Registrato il: 03/04/2013
    Utente Master
    Excel 2000 - 2013
    00 24/02/2020 17:29

    @Xeroxs64, in #5, scrive:


    ... ci provo cosi è utile per migliorare la conoscenza di Excel ...


    Lo scopo di Forum dovrebbe essere esattamente questo.
    Poi, se ci sono intoppi, sai che c'è sempre chi può aiutarti a risolvere.

     

    Giuseppe



    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    Xeroxs64
    Post: 25
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 08:48
    Ciao Giuseppe,

    Ho corretto le tabelle ed eseguito la macro per creare la prima ruota, e qui tutto ok. Testata ed è funzionante.

    Per quanto riguarda le operazioni successive ho provato a capire la funzione select case ma mi blocco sempre sulle scelte delle variabili da utilizzare come range intervalli elenchi o nomi delle ruote da dove poi creare le scelte che vorrei, ma creare il giusto collegamento per ora non ci riesco, pur cercando nei vari manuali di capirne il vero utilizzo sulle mie scelte.
  • OFFLINE
    GiuseppeMN
    Post: 3.743
    Registrato il: 03/04/2013
    Utente Master
    Excel 2000 - 2013
    00 25/02/2020 09:10
    Buona giornata, @Xeroxs64;
    avevo pensato ad un Codice VBA di questo tipo:

    Option Explicit
    
    Sub Massimo()
    Application.ScreenUpdating = False
    Dim Rng_1 As Range, Rng_2 As Range
    Dim x As Byte, y As Byte, k As Byte, z As Byte
    
            With Worksheets("Ritardatari")
                    Range(.Cells(6, 3), .Cells(15, 12)).ClearContents
                    Range(.Cells(5, 16), .Cells(14, 25)).ClearContents
            End With
        For k = 2 To 32 Step 3
            Select Case Cells(1, k).Value
                Case "Bari"
                    Application.Goto Reference:="Bari"
                        Set Rng_1 = Range("C4:C93")
                        Set Rng_2 = Range("B4:C93")
                            z = 6
                            y = 16
                Case "Cagliari"
                    Application.Goto Reference:="Cagliari"
                        Set Rng_1 = Range("F4:F93")
                        Set Rng_2 = Range("E4:F93")
                            z = 7
                            y = 17
                Case "Firenze"
                    Application.Goto Reference:="Firenze"
                        Set Rng_1 = Range("I4:I93")
                        Set Rng_2 = Range("H4:I93")
                            z = 8
                            y = 18
                Case Else
                    Exit For
            End Select
            ActiveWorkbook.Worksheets("Ritardatari per Ruota").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Ritardatari per Ruota").Sort.SortFields.Add Key:=Rng_1, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Ritardatari per Ruota").Sort
                .SetRange Rng_2
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
        ' Aggiorna ritardi
            With Worksheets("Ritardatari")
                    .Cells(z, 3).Value = Cells(4, k).Value
                    .Cells(z, 4).Value = Cells(4, k + 1).Value
                        .Cells(z, 5).Value = Cells(5, k).Value
                        .Cells(z, 6).Value = Cells(5, k + 1).Value
                    .Cells(z, 7).Value = Cells(6, k).Value
                    .Cells(z, 8).Value = Cells(6, k + 1).Value
                        .Cells(z, 9).Value = Cells(7, k).Value
                        .Cells(z, 10).Value = Cells(7, k + 1).Value
                    .Cells(z, 11).Value = Cells(8, k).Value
                    .Cells(z, 12).Value = Cells(8, k + 1).Value
                    
                    .Cells(5, y).Value = Cells(4, k).Value
                    .Cells(6, y).Value = Cells(4, k + 1).Value
                        .Cells(7, y).Value = Cells(5, k).Value
                        .Cells(8, y).Value = Cells(5, k + 1).Value
                    .Cells(9, y).Value = Cells(6, k).Value
                    .Cells(10, y).Value = Cells(6, k + 1).Value
                        .Cells(11, y).Value = Cells(7, k).Value
                        .Cells(12, y).Value = Cells(7, k + 1).Value
                    .Cells(13, y).Value = Cells(8, k).Value
                    .Cells(14, y).Value = Cells(8, k + 1).Value
            End With
        Next k
    Set Rng_1 = Nothing
    Set Rng_2 = Nothing
    Application.ScreenUpdating = True
        Cells(4, 2).Select
    End Sub
    

    Questo Codice VBA, come puoi ben vedere, gestisce solo le "ruote" di
    - Bari
    - Cagliri
    - Firenze
    Se hai problemi a completarlo rimango a disposizione.




    Buon Lavoro.

    Giuseppe

    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    Xeroxs64
    Post: 26
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 13:57
    Giuseppe, Ti ringrazio per la base che mi hai dato, ho completato il VBA e completato con la Ruota a Tutte anche le relative tabelle, ho studiato il codice per comprendere le dinamiche dell'uso del VBA cosi sono riuscito a portare a Termine il codice anche completandolo, volevo solo dare al giusta interpretazione al comando
    For k = 2 To 32 Step 3
    cioè parte dalla colonna 2 con + 3 colonne ogni operazione fino al valore 32 max o altro.

    Grazie davvero per avermi aiutato, sto preparando un insieme di File per copletare tante operazioni con il gioco del lotto e devo dire che anche grazie a Te e ad altri di questo forum ci sto riuscendo, spero di non abusare troppo se posterò altre necessità, perchè vorrei migliorare usando excel se possibile con i miei mezzi.

    Ora vorrei chiederti se puoi aiutarmi a capire e terminare la mia richiesta nel post "frequenti" anche per capire il suo vero funzionamento visto che a volte funziona e altre no.

    Grazie Ancora.

    ho messo il file finito per correttezza.
  • ABCDEF@Excel
    00 25/02/2020 15:24
    Non sò se ho capito bene
  • OFFLINE
    by sal
    Post: 5.844
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 25/02/2020 15:54
    Ritardi
    Ciao Volevo proporti questo, ma visto che hai già fatto, ti dava modo di scegliere la ruota e quante estrazioni andare indietro per il calcolo, la prima tabella è unita, poi l'ho divisa per visualizzare meglio.
    I colori Rosso il più max, il marrone il secondo, il turchese terzo ed infine giallo quarto.



    Ciao By Sal [SM=x423051]

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    Xeroxs64
    Post: 27
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 16:38
    ABCDEF@Excel

    Grazie davvero anche a Te, apprezzo davvero il tuo aiuto, provo a vedere se riesco ad aggiungere Tutte le Ruote e la Nazionale.

    Grazie.
  • OFFLINE
    Xeroxs64
    Post: 28
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 16:41
    Ciao,
    by sal

    non è male quanto mi proponi a veder le immaggini puoi postare il file o chiedo troppo?

    Sto davvero imparando un bel pò di cose e apprezzo l' aiuto che mi proponete.

    Grazie.
  • OFFLINE
    by sal
    Post: 5.846
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 25/02/2020 16:48
    Ritardi
    Ciao cerco di adattarlo al tuo file e lo posto appena riesco a farlo

    Ciao By Sal

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    Xeroxs64
    Post: 29
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 17:07
    Grazie se puoi/Vuoi si può ampliare anche alla ruota Nazionale e Tutte così lo completo come Ricerca.
  • ABCDEF@Excel
    00 25/02/2020 17:08
    Per la Nazionale >>>For w = 1 To 11

    >>>aggiungere Tutte le Ruote
    ?????, elabora già 10 ruote...
  • OFFLINE
    Xeroxs64
    Post: 30
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 17:15
    >>>aggiungere Tutte le Ruote
    ?????, elabora già 10 ruote...

    Mi spiego, anche io quando mi sono avvicinato al lotto non comprendevo certe regole,

    Nel gioco del lotto esiste la possibilità di giocare a Tutte le ruote,
    per cui il ritardo del numeri si calcola su tutto il quadro estrazionale (facendo la ricerca su tutte le ruote contemporaneamente ) esclusa la ruota Nazionale.
    Spero di averti fatto capire.

    La ricerca su Tutte è importante quando un numero manca da più estrazioni per scelte mirate.
    ma se non si può non è un problema.

    Grazie
  • ABCDEF@Excel
    00 25/02/2020 18:03
    Adesso ha Nazionale e Tutte
  • OFFLINE
    Xeroxs64
    Post: 31
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 18:36
    Grazie Ancora.
  • OFFLINE
    GiuseppeMN
    Post: 3.749
    Registrato il: 03/04/2013
    Utente Master
    Excel 2000 - 2013
    00 25/02/2020 18:39

    Buona sera, @Xeroxs64.


    @Xeroxs64, in #9, scrive:


    ... Ora vorrei chiederti se puoi aiutarmi a capire e terminare la mia richiesta nel post "frequenti" anche per capire il suo vero funzionamento visto che a volte funziona e altre no. ...


    Come precisato nelle "Note" della Funzione  "MODA":

    Questa funzione é disponibile per consentire la compatibilità con Excel 2007 e versioni precedenti.


    Per questo motivo nella mia risposta ti consiglirò di utilizzare una diversa struttura.


    Buona serata.

    Giuseppe



    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    Xeroxs64
    Post: 32
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 20:16
    Grazie
  • OFFLINE
    Xeroxs64
    Post: 33
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 25/02/2020 21:08
    Buonasera ABCDEF@Excel,

    Volevo chiedere se non esagero con la richiesta, per poter usare un unico file sulle mie ricerche se la VBA si può adattarla ad un "Archivio" modificato ho dovuto aggiungere una colonna dopo la data ho dovuto però ridurlo perchè non riuscivo ad inviarlo perchè superiore a qualche mega
    quello completo parte dal 1945 è composto quindi da più righe che però credo non dovrebbero creare problemi se dovessi poi usare quello completo.
    in questo modo potrei raggruppare meglio il mio lavoro.

    ho aggiunto il nuovo Archivio quello definitivo

    La Ringrazio fin da ora sperando di non aver esagerato, ma non pensavo che elaborare una mole di dati così enorme avesse delle dinamiche a volte complesse, ed anche Grazie a lei riesco a semplificare di molto diversi calcoli.
  • ABCDEF@Excel
    00 25/02/2020 22:38
    Modifica:
    riga5 Dim sh1 As Worksheet: Set sh1 = Worksheets("Archivio OLD")
    riga8 c1 = 3
    riga9 c2 = 7
    riga15 .SetRange Range("A1:BE" & ur)
    riga61 Set rg = sh1.Range("C2:AZ" & ur).Find(x, LookIn:=xlValues, LookAt:=xlWhole)
    riga94 .SetRange Range("A1:BE" & ur)

    ....riga61 senza Nazionale ="C2:AZ" Con Nazionale = "C2:BE"
  • OFFLINE
    by sal
    Post: 5.847
    Registrato il: 14/11/2004
    Utente Master
    Office 2019
    00 26/02/2020 11:45
    Ritardi
    Ciao Come promesso ecco il tuo file con il foglio dei ritardi.

    Ciao By Sal [SM=x423051]

    se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
  • OFFLINE
    Xeroxs64
    Post: 35
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 26/02/2020 15:10
    Ciao By Sal

    Grazie anche a Te mi piace la tabella molto completa di tutto quello che serve.

    Davvero Bravo.

  • OFFLINE
    Xeroxs64
    Post: 36
    Registrato il: 20/01/2020
    Età: 60
    Utente Junior
    2016
    00 26/02/2020 16:50
    Per GiuseppeMN

    Ho Bisogno di un aiutino volevo ultimare il laovoro completandolo con l aggiunta della ruota Nazionale ma ho provato a capire dove si genera un errore nel VBA ma non riesco a gestirlo, forse qualche cella o range che non riesco ad individuare.

    debug .apply


    Ti allego il file con le mie correzioni o meglio errori, se puoi aiutarmi.

    Grazie