Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 5 123 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41

Classifica Marcatori

  1. #1
    Mikypan81 non è in linea Novello
    Salve a tutti. Sto cercando di creare una classifica marcatori in excel che si aggiorni automaticamente all'inserimento dei dati di un altro foglio.

    In pratica:

    Foglio1:
    Qui ci sono i tabellini delle partite dove inserisco (da un menù a tendina) i nomi dei marcatori e nella cella accanto il numero di gol fatti nella partita.

    Foglio2:
    Qui andrebbe la classifica. Ho già inserito un codice VBA preso da questo forum che mi fa l'ordinamento automatico dei dati, ora mi servirebbe un codice che "preleverebbe" i dati dal foglio1.
    Quindi questo codice dovrebbe controllare l'intervallo G5:J8, e ricopierebbe i dati nel foglio 2 (Es. Milito 2 gol - Rocchi 1 gol)
    Il problema è che, nell'intervallo, ad es. G10:J13 ci sono altri dati che potrebbero coincidere con quelli su (Es. Milito 1 gol - Eto'o 1 gol)
    Nel foglio due vorrei avere la classifica così stilata:
    Milito 3
    Rocchi 1
    Eto'o 1.

    E' possibile farlo??? Grazie a chi avrà voglia di aiutarmi...sto ammattendo perchè non conosco il VB e sto ricercando da ore ciò che mi serve senza risultato!

  2. #2
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Ciao e benvenuto nel forum.
    Potresti nel foglio 2 elencare tutti i giocatori che già hai nel tuo menù a tendina.
    Poi nella cella di fianco a quella riportante il giocatore, inserire una formula SOMMA.SE, in questo modo, ogni volta che nel foglio uno andrai ad inserire un marcatore, automaticamente nel foglio della classifica ti ritrovi il dato aggiornato.

    Supponiamo che nel foglio uno tu abbia i seguenti dati.

    Colonna G: Giocatore

    Colonna H: Numero di gol segnati

    In foglio due nella cella vicina al nome di ogni giocatore inserisci:
    =SOMMA.SE(Foglio1!G:G;Foglio2!A2;Foglio1!H:H)

    A questo punto ordini i dati ed hai la tua classifica aggiornata ed in elenco ed eviti di utilizzare il codice VBA.

    Fammi sapere se è quello che avevi bisogno.

    Ciao ciao
    ℹ️ Leggi di più su Elimar ...

  3. #3
    Mikypan81 non è in linea Novello
    Ciao Elimar, grazie per esserti interessato al mio problema.
    Ho provato ad inserire la formula che dici tu, ma non mi fa niente, la copio ed incollo nella cella, modifico i dati in base ai nomi dei miei fogli ecc, ma non esce scritto nulla, ho anche messo i nomi giocatori accanto, ma niente. Anche se, credo che questo sistema sia un pò macchinoso, perchè mi ritrovo 12 squadre, con 20 giocatori a squadra (minimo), sono 240 nomi da scrivere........io speravo in qualcosa di automatico che mi prelevasse i dati dei marcatori effettivi, senza dover scrivere tutto il listone.

    EDIT: Ho risolto con il problema del codice....era perchè il file excel era stato creato con excel 2007 e ora lo modificavo con Excev 2003, quindi praticamente la formula funziona! Ma è comunque macchinoso il procedimento, perchè oltre ad avere 240 nomi, ho anche 22 giornate di campionato, quindi il codice dovrebbe far riferimento a più intervalli, credo ci vogliano giorni per implementare tutto questo sistema
    Ultima modifica di Mikypan81; 20-09-2010 11:44 

  4. #4
    L'avatar di ash41
    ash41 non è in linea Novello
    Quote Originariamente inviato da Mikypan81 Visualizza il messaggio
    Ciao Elimar, grazie per esserti interessato al mio problema.
    Ho provato ad inserire la formula che dici tu, ma non mi fa niente, la copio ed incollo nella cella, modifico i dati in base ai nomi dei miei fogli ecc, ma non esce scritto nulla, ho anche messo i nomi giocatori accanto, ma niente. Anche se, credo che questo sistema sia un pò macchinoso, perchè mi ritrovo 12 squadre, con 20 giocatori a squadra (minimo), sono 240 nomi da scrivere........io speravo in qualcosa di automatico che mi prelevasse i dati dei marcatori effettivi, senza dover scrivere tutto il listone.

    EDIT: Ho risolto con il problema del codice....era perchè il file excel era stato creato con excel 2007 e ora lo modificavo con Excev 2003, quindi praticamente la formula funziona! Ma è comunque macchinoso il procedimento, perchè oltre ad avere 240 nomi, ho anche 22 giornate di campionato, quindi il codice dovrebbe far riferimento a più intervalli, credo ci vogliano giorni per implementare tutto questo sistema

    scusa se mi permetto, ma non succederà mai che in una squadra segnino tutti e 20, se sei obbligato a inserirli tutti e a fare un aggiornamento automatico, purtroppo non ho consigli da darti, ma personalmente ti consiglio di inserire i nomi di quelli che segnano giornata dopo giornata nella colonna A (se alla prima segnano in 6 ne metti solo 6, se alla seconda segnano in 4 ma 3 son doppioni della prima, ne inserisci solo 1) e nella colonna B di tenere il conto dei gol, per poi prima di uscire da excel ordinare sempre l'ordine decrescente dall alto al basso nella colonna B, così hai sempre la classifica di chi è capocannoniere e non devi scriverti 240 nomi
    ℹ️ Leggi di più su ash41 ...

  5. #5
    Mikypan81 non è in linea Novello
    Grazie per aver postato il tuo pensiero. Pensandoci bene il problema non è neanche quello di inserire tutti i nomi dei giocatori, perchè in fondo io già li ho in excel, quindi basta un copia e incolla....il problema principale è con le varie tendine....io al momento ho implementato tutto con solo una squadra, e ho creato l'elenco riferito alla mia squadra....ora devo fare lo stesso con le altre squadre, e fin qui è un lavoro che non credo mi porti via tanto tempo.
    Però quando vado a fare il codice sopracitato, dovrò inserire tutti gli intervalli di celle riferiti alla singola squadra per ogni giornata di campionato....è questo che mi spaventa!

  6. #6
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Se ho capito bene userai più di un foglio riferito alla giornata.
    Prova a vedere se il codice sottostante fa al caso tuo:

    Ti consiglio di inserire tutti i fogli relativi alle giornate prima di quello chiamato classifica e in quello chiamato classifica di inserire il titolo in entrambe le colonne tipo (Classifica Marcatori, Reti).

    Option Explicit
    Public Marc As String
    Public Gol As Integer
    Public i As Integer
    
    Sub Marcatori()
    'Pulisco ogni volta il foglio della classifica
        Sheets("Classifica").Range("A2:B100").ClearContents
        i = 1
    'Fino a quando il foglio non si chiama classifica esegui i controlli per i marcatori.
        Do While Sheets(i).Name <> "Classifica"
        
            Sheets(i).Select
    'Consiederando quanto scritto nel forum:
    'Quindi questo codice dovrebbe controllare l'intervallo G5:J8
    'Il problema è che, nell'intervallo, ad es. G10:J13
    'Analizzo che G5 sia popolato, se così fosse prendo i dati.
            Range("G5").Select
            If ActiveCell <> Empty Then RilevaMarcatore
            
        'allo stesso modo Analizzo che G10 sia popolato, se così fosse prendo i dati.
            Range("G10").Select
            If ActiveCell <> Empty Then RilevaMarcatore
            
        ' Se hai altri intervalli di dati non dovrai fare altro che ripetere quanto sopra.
            i = i + 1
        Loop
        AggiornaClassifica
    End Sub
    Sub RilevaMarcatore()
        Do While ActiveCell <> Empty
            Marc = ActiveCell.Value
            Gol = ActiveCell.Offset(0, 1)
            Sheets("Classifica").Select
            Range("A2").Select
            If ActiveCell = Empty Then
                ActiveCell.Value = Marc
                ActiveCell.Offset(0, 1).Value = Gol
                GoTo Avanti
            Else
                Do While ActiveCell <> Empty
                    If ActiveCell <> Marc Then
                        ActiveCell.Offset(1, 0).Select
                    Else
                        ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 1).Value + Gol
                        GoTo Avanti
                    End If
                Loop
            End If
            ActiveCell.Value = Marc
            ActiveCell.Offset(0, 1) = ActiveCell.Offset(0, 1).Value + Gol
    Avanti:
            Sheets(i).Select
            ActiveCell.Offset(0, 2).Select
            Gol = 0
        Loop
    End Sub
    
    Sub AggiornaClassifica()
        Sheets("Classifica").Select
        Selection.CurrentRegion.Select
        ActiveWorkbook.Worksheets("Classifica").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Classifica").Sort.SortFields.Add Key:=Range( _
            "B:B"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
            xlSortNormal
        ActiveWorkbook.Worksheets("Classifica").Sort.SortFields.Add Key:=Range( _
            "A:A"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
            xlSortNormal
        With ActiveWorkbook.Worksheets("Classifica").Sort
            .SetRange Selection.CurrentRegion
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub
    
    Fammi sapere se è quello che pensavi...

    Ciao ciao
    ℹ️ Leggi di più su Elimar ...

  7. #7
    Mikypan81 non è in linea Novello
    Ciao....grazie mille per il codice....ma non capisco come funziona!

    Praticamente ho aperto VB, ho incollato il codice per intero nel foglio "Classifica".

    Poi vado in macro, clicco su esegui Foglio3.AggiornaClassifica e mi porta alla pagina della classifica ma non esce scritto nulla, mi ritrovo selezionate le prime quattro celle senza niente dentro.
    Se invece clicco su esegui Foglio3.Marcatori mi esce una finestra con una X e accanto 400!

    EDIT: Ora inizia a funzionare qualcosa....ho messo il tuo codice in un Modulo e non sotto Foglio1 (in visual Basic)...e quando avvio il debug mi riporta il nome di un marcatore con il numero di gol accanto, ma mi da un errore, cliccando su debug, l'errore è riferito a:

    Sheets(i).Select - Errore di runtime 9 - indice non incluso nell'intervallo.


    EDIT 2: FUNZIONAAAAA!!!
    Ho rifatto tutto dall'inizio, ho provato a fare esegui al solo Foglio3.Marcatori e non agli altri (ai quali da errori vari) e funziona....mi ritrovo la classifica aggiornata....ora non mi resta che fare tutto il resto! Volevo sapere una cosa...ma per far partire la macro, devo obbligatoriamente andare in macro e cliccare su esegui???? Non si può fare un qualcosa di automatico????

    Poi volevo chiedere un'altra cosa, così da velocizzare la compilazione del calendario. Se creo un elenco con le varie squadre, si può fare in modo che scegliendo una squadra (es. Napoli) in automatico nelle celle Gx:Jx mi ritrovo la tendina dei giocatori del Napoli???
    Ricordo che la tendina è fatta con convalida dati che fa riferimento alla pagina in cui ci sono tutte le rose....!
    In attesa di una tua risposta, 10000 volte GRAZIE!
    Ultima modifica di Mikypan81; 20-09-2010 18:43 

  8. #8
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Poi volevo chiedere un'altra cosa, così da velocizzare la compilazione del calendario. Se creo un elenco con le varie squadre, si può fare in modo che scegliendo una squadra (es. Napoli) in automatico nelle celle Gx:Jx mi ritrovo la tendina dei giocatori del Napoli???
    Ricordo che la tendina è fatta con convalida dati che fa riferimento alla pagina in cui ci sono tutte le rose....!
    In attesa di una tua risposta, 10000 volte GRAZIE!
    Qualora tu abbia ancora bisogno, ti chiedo scusa se ti rispondo solo ora, .

    Allora a me verrebbe in mente una gestione attraverso una maschera,

    Tu inserisci i dati in questa maschera e poi premendo un bottone vai ad alimentare il foglio della giornata interessata, a questo punto la macro che ti ho postato potrebbe variare leggermente ….

    Però non capisco come gestisci le Rose Squadre, vai a caricare le squadre sempre nello stesso intervallo o cosa??

    Ciao
    ℹ️ Leggi di più su Elimar ...

  9. #9
    Mikypan81 non è in linea Novello
    Ciaoooo....grazie per avermi risposto....pensavo non ti facevi sentire più....quasi abbandonavo il progetto!

    Per la gestione squadre, io ho un foglio con tutte le rose, e da li si devono attingere i dati, diciamo che per ogni colonna c'è una squadra con relativa rosa.....spero di essere stato chiaro....attendo notizie al riguardo.
    Grazie...ciao!

  10. #10
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Allora come ti dicevo, potresti creare una maschera che fai aprire con una Sub Auto_Open() in modo che in apertura del file si esegua automaticamente.

    in apertura della Form carichi i dati relativi alle giornate e quelli relativi alle squadre.

    A questo punto e allo stesso modo poi puoi gestire anche i dati relativi a gol, ammonizioni ed espulsioni.

    Fammi sapere,

    ciao ciao

    A proposito, ricordati di prevedere dei controlli affinche non siano presenti gli stessi nominativi relativi alle squadre in casa ed in trasferta per i marcatori dipende come li gestisci.
    ℹ️ Leggi di più su Elimar ...

+ Rispondi al messaggio
Pagina 1 di 5 123 ... ultimoultimo

Potrebbero interessarti anche ...

  1. Cambiare i marcatori con REGEX
    Da strategaD nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 25-02-2017, 13:16
  2. Classifica
    Da Maverick03 nel forum Visual Basic .Net
    Risposte: 16
    Ultimo Post: 25-06-2014, 10:24
  3. Risposte: 1
    Ultimo Post: 22-03-2011, 22:23
  4. Classifica Marcatori
    Da swim nel forum PHP
    Risposte: 16
    Ultimo Post: 05-02-2011, 21:09
  5. Part-Time a termine: Classifica di calcio per il web
    Da Monital nel forum Offerte di lavoro
    Risposte: 0
    Ultimo Post: 10-02-2007, 08:48