Rivien piilotus

Anonyymi

Onko excelissä mahdollista piilottaa ruutunäkymässä tietty määrä perättäisiä rivejä siten että näkyisi vain ensimmäinen (otsikko )rivi?
Sitten olisi mahdollista tarvittaessa avata/sulkea ryhmän kaikki rivit "klikkaamalla", niin ettei hankalaa rivien "valintamaalausta" tarvitsisi enää tässä tehdä.

13

1001

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      On, piilottaa vaan valitsemansa rivit. "Klikkailuun" pitää tehdä makro.

      Ensimmäisen rivin saat lukittua suoraan.

      • Anonyymi

        Ei tuossa oikein makrotkaan toimi, kun käytössä ryhmiin lisätään rivejä jatkuvasti. Piilotettavan rivimäärän pitäisi päivittyä makroon automaattisesti.


      • Anonyymi kirjoitti:

        Ei tuossa oikein makrotkaan toimi, kun käytössä ryhmiin lisätään rivejä jatkuvasti. Piilotettavan rivimäärän pitäisi päivittyä makroon automaattisesti.

        höpö höpö...
        katso koodini, ja siinä voit lisätä ja poistella soluja alueelta ja toimii ;-)
        Keep EXCEling
        @Kunde


      • Anonyymi
        kunde kirjoitti:

        höpö höpö...
        katso koodini, ja siinä voit lisätä ja poistella soluja alueelta ja toimii ;-)
        Keep EXCEling
        @Kunde

        En saanut koodia toimimaan, ei tapahdu klikkaamalla mitään.
        Koodin kopion tavalliseen moduliin, muuta en tehnyt.
        Alue näyttää olevan nimellään toimiva. Joku tässä on vielä huomaamatta...


      • Anonyymi kirjoitti:

        En saanut koodia toimimaan, ei tapahdu klikkaamalla mitään.
        Koodin kopion tavalliseen moduliin, muuta en tehnyt.
        Alue näyttää olevan nimellään toimiva. Joku tässä on vielä huomaamatta...

        "Allaoleva koodi ko. moduuliin..."
        eli koodi pitää olla ko taulukon moduulissa eikä tavallisessa moduulissa....


      • Anonyymi
        kunde kirjoitti:

        "Allaoleva koodi ko. moduuliin..."
        eli koodi pitää olla ko taulukon moduulissa eikä tavallisessa moduulissa....

        No nyt löytyi oikea moduli. Näytää koodi toimivan. Thx!
        Kuinka tuota koodia nonistetaan toimimaan muille nimetylle alueelle?
        Pahimmillaan otsikoita ja niiden alueita voi olla useita kymmeniä.
        Oliksiko mahdollista että alueen nimi otettaisiin koodiin siitä otsikkosolusta jota klikataan?


      • Anonyymi kirjoitti:

        No nyt löytyi oikea moduli. Näytää koodi toimivan. Thx!
        Kuinka tuota koodia nonistetaan toimimaan muille nimetylle alueelle?
        Pahimmillaan otsikoita ja niiden alueita voi olla useita kymmeniä.
        Oliksiko mahdollista että alueen nimi otettaisiin koodiin siitä otsikkosolusta jota klikataan?

        Toki sen voi koodata ottamaan nimen siitä solusta, mutta ei mielestäni järkevää(koska tarvitaan sitten lisätä virheen tarkasteluja yms). The Simple the Best!

        Tee kuten neuvoin, eli nimeä alue otsikoineen ja ja käytä ALUEIDEN nimä koodissa. Koodi käyttää alueen nimeä ja sen ensimmäistä solua vasemmasta yläkulmasta.

        Koodissa siis "nimi", "osoite" ja " email" vastaavat määritettyjen aluieden nimiä ja klikkaamalla alueen vasemmanpuoleisinta solua otsikkorivillä esim. koodissa osoite alueen ( Range("osoite").Cells(1)) ) solua, koodi suoritetaan...
        Toki voi sen muuttaa koskemaan alueen koko otsikkoriviäkin.

        ko. tauukon moduuliin...
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect(Target, Range("nimi").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("nimi").Cells(2, 1).EntireRow.Hidden = True Then
        Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        If Not Intersect(Target, Range("osoite").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("osoite").Cells(2, 1).EntireRow.Hidden = True Then
        Range("osoite").Offset(1).Resize(Range("osoite").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("osoite").Offset(1).Resize(Range("osoite").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        If Not Intersect(Target, Range("email").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("email").Cells(2, 1).EntireRow.Hidden = True Then
        Range("email").Offset(1).Resize(Range("email").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("email").Offset(1).Resize(Range("email").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        'jne
        End Sub

        Keep EXCELing
        @Kunde


      • Anonyymi
        kunde kirjoitti:

        Toki sen voi koodata ottamaan nimen siitä solusta, mutta ei mielestäni järkevää(koska tarvitaan sitten lisätä virheen tarkasteluja yms). The Simple the Best!

        Tee kuten neuvoin, eli nimeä alue otsikoineen ja ja käytä ALUEIDEN nimä koodissa. Koodi käyttää alueen nimeä ja sen ensimmäistä solua vasemmasta yläkulmasta.

        Koodissa siis "nimi", "osoite" ja " email" vastaavat määritettyjen aluieden nimiä ja klikkaamalla alueen vasemmanpuoleisinta solua otsikkorivillä esim. koodissa osoite alueen ( Range("osoite").Cells(1)) ) solua, koodi suoritetaan...
        Toki voi sen muuttaa koskemaan alueen koko otsikkoriviäkin.

        ko. tauukon moduuliin...
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect(Target, Range("nimi").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("nimi").Cells(2, 1).EntireRow.Hidden = True Then
        Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        If Not Intersect(Target, Range("osoite").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("osoite").Cells(2, 1).EntireRow.Hidden = True Then
        Range("osoite").Offset(1).Resize(Range("osoite").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("osoite").Offset(1).Resize(Range("osoite").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        If Not Intersect(Target, Range("email").Cells(1)) Is Nothing Then
        If Selection.Count = 1 Then
        If Range("email").Cells(2, 1).EntireRow.Hidden = True Then
        Range("email").Offset(1).Resize(Range("email").Rows.Count - 1).EntireRow.Hidden = False
        Else
        Range("email").Offset(1).Resize(Range("email").Rows.Count - 1).EntireRow.Hidden = True
        End If
        Target.Offset(0, 1).Select
        End If
        End If
        'jne
        End Sub

        Keep EXCELing
        @Kunde

        Okei, tuota koodin 10-rivistä ydinosaa vain kopioidaan tarvittava määrä peräkkäin, ja muokataan niiden nimet kohdilleen.
        Helppo nakki tuottaa muutama sata riviä koodia. 😃


    • Tietenkin...
      maalaa dataa sisältävä alue otsikkorivineen ja nimeä se ( kirjoittamalla valinnan nimi vasemmalla ylhäällä kaavarivillä olevaan nimiruutuun (nimi koodissa) ja ENTER tai menun kautta )

      Allaoleva koodi ko. moduuliin...

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, Range("nimi").Cells(1)) Is Nothing Then
      If Selection.Count = 1 Then
      If Range("nimi").Cells(2, 1).EntireRow.Hidden = True Then
      Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = False
      Else
      Range("nimi").Offset(1).Resize(Range("nimi").Rows.Count - 1).EntireRow.Hidden = True
      End If
      Target.Offset(0, 1).Select
      End If
      End If
      End Sub

      Keep EXCELing
      @Kunde

      • Unohdin mainita, että näytä/piilotus toimii klikkaamalla alueen vasemmanpuoleista solua alueen otsikkorivillä

        keep EXCELing
        @Kunde


      • Anonyymi

        Onko tarpeen valita alueeseen koko dataa sisältäävää aluetta, eikö riittäisi että maalataan vain ensimmäinen sarake? Koko rivihän kuitenkin aina piilotetaan.


    • Anonyymi

      Eikö tuo tulisi yksinkertaisesti merkkaamalla piilotettavat rivit ryhmäksi (group). Ryhmä kasvaa, kun väliin lisätään rivejä, joten siihen on otettava yksi ylimääräinen rivi, jonka yläpuolelle uusi rivi lisätään.

      • Anonyymi

        Toimii se niinkin että maalataan rivinumerosarakkeesta rivejä, ja annetaan tälle alueelle nimi.
        Ja alueen lopuun on hyvä jättää tyhjä rivi että rivien lisääminen on helpppoa.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Useita puukotettu Tampereella

      Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht
      Tampere
      215
      4178
    2. Kuka rääkkää eläimiä Puolangalla?

      Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii
      Puolanka
      69
      2685
    3. Asiakas iski kaupassa varastelua tehneen kanveesiin.

      https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava
      Maailman menoa
      393
      2401
    4. Leipivaaran päällä on kuoleman hiljaista.

      Suru vai suuri helpotus...
      Puolanka
      47
      2333
    5. Meneeköhän sulla

      oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua
      Ikävä
      32
      1561
    6. Muutama kysymys ja huomio hindulaisesta kulttuurista.

      Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul
      Hindulaisuus
      532
      1350
    7. Jos ei tiedä mitä toisesta haluaa

      Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em
      Ikävä
      95
      1316
    8. Määpä tiijän että rakastat

      Minua nimittäin. Samoin hei! Olet mun vastakappaleeni.
      Ikävä
      57
      1300
    9. Koska näit kaivattusi viimeksi

      Milloin tapasit rakkaasi? Ja etenikö suhde yhtään?
      Ikävä
      75
      1273
    10. Jumala puhui minulle

      Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles
      Ikävä
      125
      1176
    Aihe