Ho guardato il file postato.
1) Ho aggiunto il codice della macro (mancava nel file che hai postato).
2) Le formule su foglio DefOrari si presentavano come
=XSTRA(marzo!A5;marzo!B5;'DefOrari';1), ma DefOrari non risulta essere un range definito; quindi o assegni alla cella A1 (quella dove comincia la tabella DefOrari) il nome DefOrari oppure nella formula metti A1 invece di 'DefOrari' (io ho fatto la seconda, l' idea di avere un range con lo stesso nome del foglio e della tabella non mi piace)
Cosi' facendo, con i tuoi dati e le formule corrette, vengono calcolate h0:00 di straordinario tipo 1, h0:00 di tipo 2 e h3:55 di straordinario di tipo 3.
Applicando le stesse formule ai giorni 2 e 3 feb ottengo:
gg 2: 1=2:55, 2=0:00, 3=0:00
gg 3: 1=8:15, 2=1:10, 3=0:00
Il che mi sembra coerente con le date, le ore fatte e la tabella DefOrari.
Nella tabella DefOrari penso ci siano delle imprecisioni; ad esempio:
-sulla riga 6, da 46:00 a 48:00=tipo 3, ma corrisponde a domenica da 22:00 a 24:00 che e' tipo 4; i due codici ovviamente dovrebbero essere uguali.
-riga 7, da 46 a 48 dovrebbe avere lo stesso codice di Lunedi' 22:24
Ce ne sono altre, ma mi fermo qui perche' mi pare che la tabella ancora non "mappa" le maggiorazioni che tu hai da calcolare; evidentemente eri ancora in fase di prova.
Un Warning:
-nel corso della discussione linkata era stato modificato il tracciato dei record, inserendo a dx della data una colonna che e' destinata a segnare i "festivi infrasettimanali"; teoricamente se manca questa colonna e non hai bisogno di differenziare tra lu-ve, sab, dom e altri festivi non dovresti avere problemi, perche' un orario non sara' mai uguale a "1" (corrisponderebbe alle 24:00 come orario di entrata, spero che non lo segnerai mai...); per precauzione comunque io aggiungerei la colonna, magari lasciandola vuota o nascosta.
Cosa fare per prova:
-assegna un nome alla cella che contiene il valore DefOrari (non so come si fa in OpenOffice), oppure nelle formule usa direttamente l' indirizzo di cella (DefOrari!A1)
Calcolerai cosi' le ore di straordinario splittate per fasce orarie
Cosa fare per la tua realta'Tu vuoi calcolare maggiorazioni diverse per le prime 8 ore e per le ore aggiuntive alle prime 8.
Quindi:
Dalla tabella timbrature (4 timbrature) crea una "tabella ombra" con la stessa data, una colonna vuota (in origine per le festivita'), il primo orari di entrata, e poi la formula =(cella con la data di entrata)+(cella con le "Ore ordinarie") Questo secondo dato nel tuo foglio e' in colonna I del foglio marzo.
Crea due tabelle "DefOrari": una con OrarioStd=0:00, fasce orarie e maggiorazioni delle 8 ore base; e una con OrarioStd=8:00, fasce orarie e maggiorazioni degli straordinari). Userai poi un gruppo di formule associandole alla tabella-orari originale e alla DefOrari degli straordinari e un altro gruppo di formule associata alla tabella ombra e alla DefOrari delle 8 ore base.
Ricorda: se l' elaborazione e' lenta, conviene cancellare l' istruzione "Application.Volatile" e usare la sintassi
=XSTRA(data;timbrature;tabella;tipo;OreComplessive) dove OreComplessive nel tuo caso e' la colonna H del foglio marzo; vedere
viewtopic.php?f=26&t=69705#p402012.
Sono sicuro che siamo a buon punto.
Ciao.