Presenze



  • Presenze
    di biss73 (utente non iscritto) data: 18/03/2015 10:42:33

    Ciao a tutti,
    Di nuovo a chiedere consigli e soprattutto aiuto
    ho un file Excel diviso su più fogli ognuno raccoglie un periodo semestrale, le righe sono gli operatori, le colonne sono i giorni,
    su un foglio di riepilogo dovrei riportare la quantità totale delle presenze.
    In poche parole fare la somma riga per riga ( dalla 7 in poi ) di tutte le colonne in cui la cella e blu.
    es. riga 10, fare la somma di tutte le celle di tutti i fogli dove la cella è di colore blu
    per poi passare alla riga successiva.
    preparo un file di esempio per essere più chiaro
    Ringrazio anticipatamente
    Saluti



  • di biss73 (utente non iscritto) data: 18/03/2015 10:55:16

    Allego un file di esempio
    Grazie



  • di Vecchio Frac data: 18/03/2015 11:14:20

    Basta che il colore blu non sia frutto di una formattazione condizionale, poi sembra semplice fare un ciclo riga per riga di ogni tabella e conteggiare le celle che hanno interior.colorindex uguale a ... (occorre verificare il valore del blu).
    Poi non è chiaro dove e come imposti e recuperi le ore e i costi da sommare.

    Pensa che poi io userei il metodo che ho utilizzato per contare le ore di permanenza al seggio elettorale dei componenti del seggio: una tabella come la tua, nomi e orari (nel tuo caso giornate), se digito "1" in una casella questa diventa blu (con formattazione condizionale imposti sia lo sfondo che il carattere a 1 così non si vede il numero), poi basta fare la somma degli "1" per ogni riga e hai già il totale delle ore di presenza (giornate nel tuo caso), senza ricorrere a VBA.





  • di biss73 (utente non iscritto) data: 18/03/2015 11:35:08

    Ciao Vecchio Frac,
    grazie per l'interesse,
    purtroppo è un file che non genero io ma lo importo,
    io mi limito ad aggiungere un foglio di riepilogo e tramite un pulsante dovrei avere i totali di tutto
    il programma me lo estrapola cosi come l'esempio si limita a colorare le celle
    una soluzione VBA mi sembra l'unica applicabile
    Grazie



  • di Vecchio Frac data: 18/03/2015 15:25:08

    Ho abbozzato un po' di codice sulla base dell'esempio che hai postato.
    Funziona nel senso che calcola il totale dei giorni (in blu) per ogni nominativo e riporta nel riepilogo questo dato.
    Adesso mancano le informazioni sul totale delle ore e dei costi che non so trovare nei fogli dell'esempio.
     
    Option Explicit
    
    Sub scan_blues()
    Dim ws As Worksheet
    Dim rng As Range, row_ As Range, cell As Range, c As Range
    Dim tot_giorni As Integer, nome As String
    
    Const START_CELL As String = "A7"
    
        Range("riepilogo!b7:b11").ClearContents
        
        For Each ws In Sheets
            If LCase(ws.Name) <> "riepilogo" Then
                
                Set rng = ws.Range(START_CELL, "A" & ws.Range(START_CELL).End(xlDown).Row)
                For Each row_ In rng.Offset(, 3).Resize(, 187).Rows
                    tot_giorni = 0
                    For Each cell In row_.Cells
                        If cell.Interior.ColorIndex = 5 Then tot_giorni = tot_giorni + 1      'blue
                    Next
                    nome = row_.Cells(0)
                    Set c = Sheets("riepilogo").Range("A:A").Find(nome)
                    c.Offset(, 1) = c.Offset(, 1) + tot_giorni
                Next
            
            End If
            
        Next
            
    End Sub






  • di biss73 (utente non iscritto) data: 18/03/2015 16:04:19

    Ciao Vecchio Frac,
    gentilissimo e tempestivo come sempre.
    funziona non avevo dubbi.
    Per quanto riguarda il totale delle ore è un dato che devo poter impostare io sempre dal foglio di riepilogo sulla cella O5 imposto le ore sulla cella P5 imposto il costo
    in base alle presenze posso cosi sapere il costo e la quantità totale
    Grazie
    Gentilissimo



  • di biss73 (utente non iscritto) data: 19/03/2015 11:21:46

    Giorno a tutti,
    soprattutto al Vecchio Frac,
    Grazie ancora per l' aiuto
    il resto lo ottengo con delle formule anche se non è la cosa migliore perché se aggiungo un record devo copiare anche le formule delle colonne E;F
    sarebbe troppo chiederti di inserirle nel codice che già mi hai postato
    Grazie ancora



  • di Vecchio Frac data: 19/03/2015 12:50:51

    Quali formule? le trovo nel file che hai allegato?





  • di biss73 (utente non iscritto) data: 19/03/2015 14:37:52

    Ciao,
    no le ho aggiunte dopo,
    es. colonna E Riga 7 Legge la cella Colonna D7 e moltiplica per il n° della cella j5, il tutto lo ripeto per tutte le celle della colonna E, il problema che se aggiungo una riga devo aggiungere anche la formula
    lo stesso per la colonna F che la moltiplico per il valore della cella K5



  • di Vecchio Frac data: 20/03/2015 09:20:59

    cit. "le ho aggiunte dopo"
    ---> Allora riallega un file con le formule e un esempio di quello che ti serve ottenere.
    Replicare le formule si può.





  • di biss73 (utente non iscritto) data: 20/03/2015 12:52:42

    Ciao, Ti allego il file tieni conto che sono cambiate un po le cose
    comunque ho scritto delle note
    Grazie 1000



  • di Vecchio Frac data: 20/03/2015 18:35:22

    Vedo che "le cose sono cambiate" ^_^
    C'è da studiarlo un attimo.





  • di biss73 (utente non iscritto) data: 24/03/2015 14:49:09

    Salve a tutti,
    Chiedo scusa ma chiudo questa discussione per il semplice fatto che non è applicabile
    grazie ancora
    Saluti