Taas olisi ongelma taulukon kanssa.
Taulukossa on 30 työntekijän nimet sarakkeissa B4-B33, työtehtävät ovat vastaavissa c-sarakkeissa.
Taulukon yläpuolelle soluun A1 syötetään viikon ensimmäinen päivämäärä ja A2 soluun viikon viimeinen pvm.
Solussa C2 on kaava, mikä laskee viikkonumeron viikon ensimmäisen päivämäärän perusteella.
Nyt sitten ongelmaan, työntekijät ovat kolmessa ryhmässä:
1 ryhmä soluissa B4-B13
2 ryhmä soluissa B14-B23
3 ryhmä soluissa B24-B33
Kun viikkonumero vaihtuu seuraavaan, pitäisi ryhmä1 siirtyä ryhmä2:n paikalle,
ryhmä2 ryhmä3:n paikalle ja
ryhmä3 ryhmä1:n paikalle.
Työtehtävät sarakkeissa C4-C33 pitäisi kuitenkin pysyä paikallaan.
Voiko tätä toteuttaa makrolla?
Taulukossa on 30 työntekijän nimet sarakkeissa B4-B33, työtehtävät ovat vastaavissa c-sarakkeissa.
Taulukon yläpuolelle soluun A1 syötetään viikon ensimmäinen päivämäärä ja A2 soluun viikon viimeinen pvm.
Solussa C2 on kaava, mikä laskee viikkonumeron viikon ensimmäisen päivämäärän perusteella.
Nyt sitten ongelmaan, työntekijät ovat kolmessa ryhmässä:
1 ryhmä soluissa B4-B13
2 ryhmä soluissa B14-B23
3 ryhmä soluissa B24-B33
Kun viikkonumero vaihtuu seuraavaan, pitäisi ryhmä1 siirtyä ryhmä2:n paikalle,
ryhmä2 ryhmä3:n paikalle ja
ryhmä3 ryhmä1:n paikalle.
Työtehtävät sarakkeissa C4-C33 pitäisi kuitenkin pysyä paikallaan.
Voiko tätä toteuttaa makrolla?
Vastaukset 5
Vanhimmat
ei siinä viikon numeroa makrossa tarvita
"köyhän miehen versio" mutta toimii...
Sub Siirrä()
Range("B4:B13").Copy Destination:=Range("IV14")
Range("B14:B23").Copy Destination:=Range("IV24")
Range("B24:B33").Copy Destination:=Range("IV4")
Range("IV4:IV33").Copy Destination:=Range("B4")
Range("IV4:IV33") = ""
End Sub
Toimii toi ihan ok. Täytyy laittaa vaikka Msg-boxin muistuttamaan viikkoa vaihdettaessa että vaihdetaan myös työntekijöiden paikkaa.
Kiitos sinulle :o)
Voisihan tuon tehdä kaavalla joka päivittyis kun viikkonumero muuttuu. Elikkä JOSsitellaan JAKOJäännös funktiolla kun viikkonumero jaetaan 3:lla. Viikonumero saadaan NYT() funktiolla.
Esim: Tämänviikkoinen työvuoroluettelo J4:J33.
Soluun B4 kaava
=JOS(JAKOJ(VIIKKO.NRO(NYT());3)=0;J4;JOS(JAKOJ(VIIKKO.NRO(NYT());3)=2;J14;J24))
ja tämä vedetään soluun B13 asti.
Soluun B14 tehdään sama kaava eri viittauksilla ja vedetään soluun B23 ..jne.
En tuota testannu, mutta vois ainakin periaatteessa toimia.
tässä pikaisesti tuota kaavaa, mutta en saanut toimimaan ainakaan vielä.
Työtehtävät ovat siten että soluissa D4-K33 on joka päivälle eri työtehtävät. D4-D33 solussa on kellonaika E4-E33:ssä työtehtävä, F4-F33 kellonaika F4-F33 työtehtävä jne.
Kokeilen vielä lisää illan mittaan. Kiitos vihjeestä :o)
Kiitos paavalille avusta, pääsen taas jatkamaan harjoituksia eteenpäin :o)