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

1066

    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. 20v on otettu kiinni

      Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
      Savonlinna
      164
      10292
    2. Mitä meidän välillä

      Tapahtuu lopulta?
      Ikävä
      55
      2813
    3. IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?

      16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan
      Maailman menoa
      80
      2508
    4. 85
      2351
    5. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

      https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
      Maailman menoa
      147
      2084
    6. Savonlinnan murhapolttaja romani

      Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
      Maailman menoa
      235
      1898
    7. Ei me taideta

      Pystyä kokonaan olemaan erossa.
      Ikävä
      44
      1382
    8. Kun aika on oikea niin

      Tupsahdat uudelleen tai löydän edes melkein yhtä ihanan ja joudun tyytymään... Suukko poskelles. 😘 Viattomasti vain.. �
      Ikävä
      13
      1345
    9. Muutama vuosi sitten oli pulaa hoitohenkilökunnasta

      Nyt heitä sanotaan irti. Tarve ei ole hävinnyt mihinkään, ei myöskään raha jolla ihmisten työnteosta maksettiin; raha va
      Maailman menoa
      115
      1197
    10. Ilouutinen: Osmo Peltola jo teini-iässä, silti yhdessä Peltsi-isän kanssa taas tv:ssä!

      Ihan paras parivaljakko: Peltsi-isä ja Osmo-poika. Tämä on kyllä sellaista hyvänmielen telkkariohjelmaa, josta kukaan ei
      Tv-sarjat
      34
      873
    Aihe