› Excel e gli applicativi Microsoft Office › Riepilogo da creare
-
AutoreArticoli
-
In allegato c'è un file che uso per la registrazione del consumo di ore lavorate giornaliere su commessa per ogni dipendente (fogli da 1 a 31).
Ho creato il foglio "Persona su commessa", con i dipendenti sulle righe (con il campo chiave matricola nella colonna A) e le commesse sulle colonne (codice commessa alfanumerico presente nella riga AB3 in poi di ogni foglio giornaliero) dove altro non vorrei che riepilogare le ore lavorate sulle varie commesse nel mese per ogni persona.
Ci ho provato con delle formule ma non ci sono riuscito.
Allegati:
You must be logged in to view attached files.Puo cercare di spiegare meglio ? cosa dovrebbe fare la macro a parole ?
Dovrebbe praticamente far questo nel foglio Persona su commessa:
- alla cella G7, dovrebbe riportare il totale delle ore lavorate sommate nei fogli da 1 a 31 (giorni di Marzo), del dipendente matr. 1145 sulla commessa 5820
la matricola del dipendente in ogni foglio giornaliero è nella colonna A, invece le commesse sono dalla cella AB in poi sulla riga 3
Buona pomeriggio, @nicopana;
il risultato finale mi era chiaro già dalla richiesta, quello che è proibitivo è il tempo di esecuzione.Il Codice VBA che ho pensato di impostare deve verificare:
- 700 Nominativi, anche se i Nominativi validi sono solo 428
con:
- 44 Commesse
il tutto per i giorni lavorativi di ogni mese.Anche impostando il Ricalcolo in "Manuale" i tempi di elaborazione diventano improponibili.
Posso provare ad essere più preciso sui tempi di elaborazione verificando un paio di giorni ma, personalmente, opterei sicuramente per ACCESS; ovviamente dipende dalla disponibilità di una licenza ACCESS.
Giuseppe
per usare Access dovrei recuperare un po’ di Rimini scienze dell'università, ma a livello concettuale dovrei ricostruirmi la tabella dipendenti, la tabella delle commesse, poi ricrearmi ogni giorno lavorativo, per poi combinare queste tabelle con i campi chiave?
Buona giornata, @nicopana;
come promesso ho testato solo il 01 Marzo.
Dopo 21 minuti i Record valutati erano 245 su 428; ho preferito desistere.Per quanto concerne ACCESS le Tabelle:
- Dipendenti
- Commesse
le potresti caricare direttamente da Excel.
Le maschere sarebbero veramente facili da costruire.
Con un po di buona volontà potresti caricare direttamente anche tutte le imputazioni Collaboratore/Commessa del Mese di Marzo.
Anche la maschera delle presenze non sarebbe molto complessa.
Poi si tratterebbe di definire Query e Report; non credo sia un lavoro troppo impegnativo.
Prevedo che strutturare la stampa dei Report sarà un po complicato ma anche in Excel il Foglio di lavoro "Persona su commessa", considerando solo i 423 Record validi, comporterebbe la stampa di 169 Fogli in A4 oppure 63 Fogli in A3; questo considerando "Righe ripetute in alto $4:$6" e "Colonne ripetute a sinistra $A:$E"Anche se questa sezione di Forum esclude File ACCESS vorrei poterti aiutare ma, a suo tempo, sono stato redarguito dai Guru di ACCESS in quanto utilizzavo Campi calcolati.
Ad ogni buon conto io continuo ad utilizzare Campi calcolati; forse non sarà etico ma li trovo molto utili.
È pur vero che nelle Release successive mi sembra di ricordare che Microsoft® abbia introdotto il concetto di Campi calcolati ma potrei ricordare male.Per mio diletto, nei prossimi giorni, vedrò di impostare un File .mdb (ACCESS 2000); poi, se lo riterrai utile e opportuno, ti aggiornerò.
A disposizione.
Giuseppe
Intanto grazie mille per i test, ho capito che quindi è meglio lasciar stare la soluzione con Excel.
Proverò anch'io a riprendere i concetti in Access, devo solo ritornare un po' ad avere familiarità con quell'ambiente che non me lo ricordo proprio.
Penso anch'io che le tabelle dipendenti e commesse non siano complicate da creare, non saprei come creare invece i fogli giornalieri, cioè non ricordo concettualmente come poter fare.
Non ricordo per nulla il concetto di "campi calcolati"
Si assolutamente, qualora a tempo perso riuscissi ad impostare qualcosa giramelo, magari ecco, siccome io ci devo provare da subito potrei girarti io qualche versione embrionale su cui lavorare. Mi sembra però che su questo forum non ci sia una sezione per parlare anche di Access, o sbaglio?
Buona giornata, @nicopana;
per il momento direi che la tua scelta sia quella di decidere se continuare questa discussione in questo Forum oppure affidare la soluzione ai consigli degli Ottimi:
- @dodo47, che saluto
- @ABCDEF@Excel, che saluto
che dal 30/03/2020 ti stanno aiutando su altro Forum.Giuseppe
Sinceramente non capisco la risposta, anche perché ho provato a trovare un aiuto da altre parti (non capisco che male ci sia) nel momento in cui non si riesce ad arrivare ad una soluzione pensata.
E comunque me lo hai suggerito anche tu di considerare Access, data l'ingestibilità conclamata del file come dimensione. Ho accettato, va bene comunque, ci abbiamo provato, e ti ho anche ringraziato del tempo dedicatomi.
Buona giornata, @nicopana.
@nicopana, scrive:
Sinceramente non capisco la risposta, anche perché ho provato a trovare un aiuto da altre parti (non capisco che male ci sia) nel momento in cui non si riesce ad arrivare ad una soluzione pensata.Questo è il mio concetto di CROSS-POSTING e come tale opinabile, è lecito chiedere aiuto anche in altri Forum ma questo dovrebbe essere specificato nella Richiesta; questa è una mia posizione ma nel Regolamento di Forum è una prassi consolidata.
Chi risponde nei vari Forum sono sempre gli Stessi Utenti, ci conosciamo un po tutti; sinceramente ho visto casualmente la stessa Richiesta in altro Forum.@nicopana, scrive:
... E comunque me lo hai suggerito anche tu di considerare Access, data l'ingestibilità conclamata del file come dimensione. Ho accettato, va bene comunque, ci abbiamo provato, e ti ho anche ringraziato del tempo dedicatomi.Non è questo il punto, sto già cercando di impostare le Tabelle:
- Collaboratori
- Commesse, copleta di "Descrizione della Commessa"
- Mansioni
- Ore lavorate nel Mese di Marzo
Poi, ovviamente, vedi Tu se procedere in autonimia oppure approfondire assieme.A margine di quanto sopra il mio concetto di "Celle calcolate" è il seguente:
Supponiamo di avere la Nostra Tabella "Commesse" dove ogni Commessa ha una sua descrione; esempio, Commessa: 4923 Descrizione: Appalto ristrutturazione scuola elementare.Nella Maschera di inserimento Ore lavorate su Commessa potresti avere un ComboBox nel quale vengono proposte tutte le Commesse e un Campo "Descrizione"; nel momento in cui scegli una Commessa alla quale attribuire le Ore lavorate, in automatico, nel Campo Descrizione verrà riportata la Descrizione relativa.
Giuseppe
Capisco la posizione sul Cross-Posting, chiaramente il mio scrivere anche qui è perché non ero arrivato ad una soluzione per me più facilmente gestibile con Excel da altre parti, se ho commesso un errore chiedo scusa, ma derivava sempre dal provare a risolvere una questione al momento non risolta.
Mi avevi scritto che comunque avresti provato a darmi una mano con le tabelle "...per mio diletto, nei prossimi giorni", fantastico per me, avevo semplicemente aggiunto che se fossi riuscito a recuperare qualche riminiscenza di access ed iniziare ad impostare qualche cosa anche in access, se tu non avessi avuto ancora modo, avresti poi lavorato su qualcosa di mio. Quindi assolutamente ben venga se mi dai una mano ad approfondire, ma veramente, magari.
Capito anche il concetto dei campi calcolati.
Spero comunque di poter ricevere aggiornamenti, intanto ci provo anch'io
Buona giornata, @nicopana.
@nicopana, scrive:
intanto ci provo anch'ioPer prima cosa sto scompattando tutti i Fogli di lavoro; quindi nel File Collaboratori avrò un solo Foglio di lavoro:
- Collaboratori
con tre Campi
- Codice
- Nominativo
- Mansione; questo Campo potrà essere modificato nella Maschera "Ore su Commessa"Analogamente per "Commesse", "Mansioni" e "Ore impegnate per Commessa nei 31 giorni di Marzo" anche questo in un solo Foglio di lavoro con tre Campi; questo è il lavoro più complesso:
- Codice
- Nominativo
- Data
- Commessa
- Ore lavorateVedrò di costruire un Codice VBA che, valutando tutti i 31 Fogli di lavoro, sintetizzi la somma delle Ore lavorate per:
- Codice
- Commessa
in un unico Foglio di lavoro.A questo punto:
- Apro ACCESS
- Salvo un File vuoto
- Con l'opzione "Carica Dati esterni"
- Seguendo le istruzioni, carico alternativamente tutte le Tabelle
- Gestico tutte le Tabelle con altrettante Maschere dedicate
- Costruisco un Menu di selezione
- Costruisco le Query che ritengo utili per la gestione dei Report
- Costruisco i vari ReportQuesto in estrema sintesi.
Giuseppe
Buon pomeriggio, @nicopana;
in allegato il Menu iniziale che si presenterebbe all'apertura del File ACCESS.Come puoi ben vedere ho strutturato quqttro maschere:
- Inserimento Ore lavorate per Commessa
- Collaboratori
- Commesse
- MansioniTutte le maschere dipendono dalle relative Tabelle e sono tutte funzionanti.
Nella Maschera "Inserimento Ore lavorate per Commessa" ho inserito un solo Record in quanto non mi sono chiari i Campi:
- C.d.C; quanti Centri di Costo devi gestire?
- E; i valori inseriti sono in Formato hh.mm?
- U; i valori inseriti sono in Formato hh.mm?
- E; in ACCESS ho dovuto necessariamente rinominarlo come E1
- U; in ACCESS ho dovuto necessariamente rinominarlo come U1
- E; in ACCESS ho dovuto necessariamente rinominarlo come E2
- U; in ACCESS ho dovuto necessariamente rinominarlo come U2
- E; in ACCESS ho dovuto necessariamente rinominarlo come E3
- U; in ACCESS ho dovuto necessariamente rinominarlo come U3
- GiustificativiA margine di quanto sopra, se dobbiamo approfondire il File ACCESS, devo necessariamente chiedere ai Moderatori di questo Forum se possiamo procedere oppure se questa Sezione e dedicata esclusivamente a Formule e Codici VBA di Excel.
Giuseppe
Allegati:
You must be logged in to view attached files.Attendiamo chiaramente un responso dai moderatori del forum.
Comunque davvero impressionante.
Ho capito l'idea delle quattro maschere, però provo anche a risponderti alle tue domande: quei campi che mi hai segnalato sono campi che in realtà prendo e copio con "violenza" da un report del software gestionale che usa l'uff personale, sono in formato Generale, e devo dirti la verità ma non mi servono a gran che, se non a verificare che, se presente almeno un valore da D a K, vuol dire che la persona è presente perché quello è l'orario di timbratura, non mi interessano a tal fine nemmeno le giustifiche.
Ti faccio questa osservazione per dirti che siccome i fogli giornalieri del file vengono elaborati da semplici data entry, di cui non conosco la familiarità che hanno con access, considerando che non è eccezionale nemmeno quella con excel, a me basterebbe anche copiare e incollare i dati dentro Access, dopo i loro inserimenti e correzioni di anomalie, per tirar fuori il report delle ore lavorate delle persone sulle commesse nel mese; cioè se per te è un problema, mi basterebbe anche solo Access per quest'ultima elaborazione, che abbiamo capito essere difficile in Excel.
Buona sera, @nicopana;
in allegato il File con il quale ho riportato in ACCESS le ore lavorate il 01-Marzo-2020.
Come potrai notare non ho riportato tutti i Collaboratori (411) ma solo coloro i quali hanno lavorato in quella data (76); in realtà i Record sono 90 in quanto alcuni Collaboratori hanno lavorato su più Commesse.I Campi:
- Cognome/Nome
- Mansione
sono "Campi calcolati" in funzione del campo "Codice"; il Campo "Cognome/Nome" non è modificabile mentre il Campo "Mansione" potrà essere modificato, questo perché non escludo che un Collaboratore possa cambiare mansione in funzione delle esigenze lavorative.Il Campo
- Descrizione della Commessa
è un "Campo calcolato" in funzione del campo "Commessa"; il Campo "Descrizione" non è modificabile.
Unico vincolo consiste nel fatto che tutte le Commesse devono avere una descrizione; magari un carattere jolly, esempio "-" (Meno), ma non devono esserci Commesse prive di Descrizione.Ovviamente nelle Tabelle sono stati inseriti dei vincoli che impediscono la registrazione di Record doppi; l'unica Tabella che non prevede questo tipo di vincoli è quella dedicata alla registrazione dei Dati giornalieri.
Anche se preferisco non utilizzare le correlazioni ho previsto la correlazione "1 a molti" di alcuni Campi.
Il File è da testare ma sembra funzionare correttamente.
Buona serata e buon fine settimana
Giuseppe
Allegati:
You must be logged in to view attached files.@giuseppemn non mi sono dimenticato di risponderti, ho avuto degli imprevisti a lavoro, e appena riesco devo iniziare con calma l'analisi del tuo file per Access
Buona sera, @nicopana;
non vedo la mia risposta inviata qualche minuto fa, provo a inviarla nuovamente.Ho caricato in ACCESS 5.859 Record, vedi File in allegato.
Ho costruito 3 Query
Ho costruito 3 Report dai quali pupi analizzare:
- Un Collaboratore specifico
- Una Commessa specifica
- Tutte le Commesse
In ogni Report puoi analizzare qunte Ore sono state impegnate da ogni Collaboratore per ogni Commessa sulla quale ha Lavorato.Non vorrei sconvolgerti la vita ma, se lo ritieni utile e opportuno, credo che la soluzione migliore sia una chiacchierata in Skype, con l'impegno formale di condividere in Forum eventiali sviluppi.
Con la "Condivisione del mio schermo" potresti valutare se sia opportuno procedere con ACCESS.Per cortesia, fai sapere come preferisci procedere.
Giuseppe
Allegati:
You must be logged in to view attached files.Si infatti la tua risposta non la vedevo.
Ti ringrazio molto del lavoro sin qui svolto. Si sono d'accordo con te, ci do innanzitutto un'occhiata per provare a comprenderlo in autonomia e crearmi i miei dubbi, per poi attraverso la chiacchierata su skype chiarirmeli, valutare l'uso in ACCESS, e sicuramente condividere qui i risultati.
Buona sera, @nicopana;
con l'auspicio di farti cosa gradita per aiutarti nelle tue considerazioni, allego un esempio del Report relativo alla Commessa 5869.Per limitare lo spazio di visualizzazione ho utilizzato una Commessa con pochi interventi:
- Tutti gli interventi si sono prodotti in Data 04/marzo/2020
Sono intervenuti quattro Collaboratori per un totale di 18:00 Ore lavorate; nel dettaglio:
- CHIRICO VINCENZO Tasporto 05:00 Ore
- D'AMURI ARCANGELO Edilizia 05:00 Ore
- GIORDANO FABIO Edilizia 03:00 Ore
- SANTACROCE ANTONIO Edilizia 05:00 OreTempo di esecuzione dell'analisi, un Click.
Stesso tempo per l'analisi di tutti gli interventi su tutte le Commesse nelle Date 01/03/2020 ÷ 31/03/2020Giuseppe
Allegati:
You must be logged in to view attached files.Buona sera, @nicopana; non vedo la mia risposta inviata qualche minuto fa, provo a inviarla nuovamente.
Ti chiedo un chiarimento su questa tipologia di DB e delle query di cui mi hai parlato:
- si appoggeranno su questo db che a sua volta è una query composta dalle tabelle costruite da date preliminari in Excel che hai ricomposto in Access?
- essenzialmente i report che mi servono sono infatti l'analisi di un collaboratore specifico, scelto sulla base del campo codice (che penso sia per te il chiave), o magari del campo Cognome/Nome per una più facile individuazione, e delle sue ore spese nei vari giorni del mese sulle commesse
- l'analisi della commessa singola, dove si nota il consumo giornaliero di ore da parte delle persone
- quello più importante è poi un riepilogo generale dove si vede sulle righe le persone e sulle colonne le commesse, con le ore lavorate
Quindi tutti quei campi dalla colonna G alla V, se ti creano dei problemi (anche perché sono dati prettamente ad uso dell'ufficio personale) possono anche essere non considerati.
Buona sera, @nicopana; con l'auspicio di farti cosa gradita per aiutarti nelle tue considerazioni, allego un esempio del Report relativo alla Commessa 5869.
Come report da visualizzare è molto pulito ed intuitivo, va benissimo.
Ma potrei comunque in ogni caso metter mani sulla query in Excel che lo ha generato? Chiaramente lo chiedo perché mentre il report ha una funzione appunto di "reportistica" per chi eventualmente ha necessità semplice di visualizzare l'informazione, a me invece questo dato servirebbe poi per fare elaborazioni in altri file tecnici di resa di commessa, quindi mi servirebbe eccome il poter disporre del dato in Excel
Buona giornata, @nicopana;
considerando i tuoi impegni di Lavoro credo che la cosa più ragionevole sia trovare un professionista nella tua zona che sviluppi chiavi in mano una procedura adeguata; nel frattempo potresti utilizzare la Procedura che ti è stata proposta in Excel sull'altra piattaforma che, mi sembra di capire, risolve il problema in tempi, per te, ragionevoli.In ogni caso considera che non credo ci sia la necessità di modificare le Query; ognuna svolge un compito ben definito e risolve correttamente tutte le tue richieste.
Considerando che il File è stato sviluppato con ACCESS 2000 potrebbero esserci dei vincoli se eseguito con Release successive; questo è il motivo per il quale ti avevo proposto un contatto in Skype con il quale avremmo potuto chiarire tutti gli aspetti della mia proposta e permetterti di strutturare un File con la Release di ACCESS che utilizzi in tempi ragionevoli.
Giuseppe
Ma infatti io resto su quella strada, nel senso che ho necessità di capire la genesi del tuo lavoro per impostarlo e adattarlo agli aggiornamenti mensili di cui avrò necessità.
Quindi sicuramente attraverso quel contatto in skype mi potrai mostrare il tutto.
Solitamente i tuoi orari possibili quali sarebbero?
-
AutoreArticoli
