Solved Excel ja automaattilajittelu

Discussion in 'Ajuri- ja softaongelmat' started by odzmo, Jul 12, 2021.

  1. odzmo

    odzmo Regular member

    Joined:
    Nov 5, 2006
    Messages:
    152
    Likes Received:
    25
    Trophy Points:
    38
    Esimerkkinä seuraavat tiedot/taulukko:
    Sarake A Sarake B
    Rivi 1 Antti 12
    Rivi 2 Bertta 14
    Rivi 3 Cecilia 15
    Rivi 4 Dave 22

    Miten onnistuu (helposti) taulukon automaattinen lajittelu suuruusjärjestykseen aina kun jonkun henkilön data sarakkeessa B vaihdetaan?
    Esim. Bertan tieto vaihdetaan 14 -> 16, jolloin enterin painalluksella Bertan rivi vaihtuu riviksi 3 (ja Cecilian rviksi 2). Eli taulukon tiedot olisivat automaattisesti suuruusjärjestyksessä datamuutoksen jälkeen.

    Juu tiedän, että voin valita solun B1 ja painaa "sort a->z" -nappulaa ... mutta hiirikäsi väsyy, jos rivejä on paljon.
     
  2. OneMember

    OneMember Active member

    Joined:
    Jan 12, 2006
    Messages:
    3,190
    Likes Received:
    56
    Trophy Points:
    78
    Tämän tyylinen automatisointi vaatii makrojen käyttöä.

    Tein VBA:lla hieman vaikeamman kautta, mutta laitan kuvan alle pelkistetyn koodin.
    [​IMG]

    1. Avaa työkirja ja paina hiiren oikealla napilla alalaidassa aktiivista välilehteä -> valitse Näytä koodi.
    2. Microsoft Visual Basic for Applications -ikkunassa valitse vasemman laidan listasta haluttu taulukko.
    3. Ikkunan pitäisi olla vakiona tyhjä, joten liitä seuraava koodi siihen:
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Range("C2").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    End Sub
    
    Huom 1. Muokka koodissa oleva "C2" sinun otsikkosoluksi ja "C3" mistä eteenpäin noita tietoja automaattisesti järjestellään.

    Huom 2. Taulukko pitää nyt tallentaa makroja tukevaan muotoon. VBA:n ikkunasta paina sinistä Save-nappia ja käytä tiedostomuotona: Excel-työkirja (makrot käytössä) (*xlsm)

    (Normaali Excel-työkirja *xlsx tai vielä vanhempi *.xls eivät tue makroja)


    Viitteenä ohje englanniksi.
     
    odzmo likes this.
  3. odzmo

    odzmo Regular member

    Joined:
    Nov 5, 2006
    Messages:
    152
    Likes Received:
    25
    Trophy Points:
    38

Share This Page