Onko toimivia ohjeita seuraavaan :
2 kellonaikaa muotoa 18:00:00.
Pitäisi saada luotettavasti eroteltua montako tuntia on ollut iltavuoroa ja montako tuntia yövuoroa, miten onnistuu ?
aikaväli voi siis olla mitä vain, esim 18:20:00 - 06:00:00 ja tästä ajasta pitäisi poimia montako tuntia on ollut iltavuoroa (18-22) ja montako tuntia yövuoroa (22-06)
Kuulostaa helpolta mutta toteutus ei meinaa onnistua, ainakaan multa :)
2 kellonaikaa muotoa 18:00:00.
Pitäisi saada luotettavasti eroteltua montako tuntia on ollut iltavuoroa ja montako tuntia yövuoroa, miten onnistuu ?
aikaväli voi siis olla mitä vain, esim 18:20:00 - 06:00:00 ja tästä ajasta pitäisi poimia montako tuntia on ollut iltavuoroa (18-22) ja montako tuntia yövuoroa (22-06)
Kuulostaa helpolta mutta toteutus ei meinaa onnistua, ainakaan multa :)
Vastaukset 2
Vanhimmat
Käytä VBA:n DateDiff-funktiota ja laske erikseen työajan alusta vuoron vaihtumiseen kuluneet ja senjälkeiset tunnit ja minuutit. Esim. näin:
iltavuorotunnit = DateDiff("h", #18:20#, #22:00:00#) jne.
Niin, käsittely taitaa vaatia loopin jokatapauksessa, mietin tuota Datediff funktion käyttöä mutta ongelmaksi tuli juuri se että se vaatii loopin mikä käydään 2 tai 3 kertaa läpi ja tunnit talletetaan muuttujiin, 1 työvuoro kun voi pitää sisällään sekä päivä, ilta ja yövuoroja.