Solujen siirto makrolla

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?
5818
Äänestä

Muut lukivat myös

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

Äänestä
  • Toimii toi ihan ok. Täytyy laittaa vaikka Msg-boxin muistuttamaan viikkoa vaihdettaessa että vaihdetaan myös työntekijöiden paikkaa.

    Kiitos sinulle :o)

    Äänestä

  • Justiina35 kirjoitti:

    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.

    Äänestä

  • paavali kirjoitti:

    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)

    Äänestä

  • paavali kirjoitti:

    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.

    Kiitos paavalille avusta, pääsen taas jatkamaan harjoituksia eteenpäin :o)

    Äänestä

Kommentoi aloitusta


Justiina35 kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu