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

1115

    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. Kunnissa - siis myös kaupungeissa - viihtyvät ovat kommunisteja

      Nehän ovat osa yhteiskunnan tuottamia instansseja, joista on vain haittaa veronmaksajille ja yrittäjlle, kuten ollaan ve
      Kommunismi
      34
      3188
    2. Persuja tuntuu kiinnostavan vain muiden rahat

      En muista kenenkään muun olleen huolissaan yhtä paljon muiden rahoista kuin persujen. Mistähän se kertoo?
      Maailman menoa
      64
      2435
    3. Järkevä ehdotus: reilun 8 miljardin euron veronkorotukset

      Nykyinen hallitus on päästänyt valtion tulopuolen rappeutumaan, vaikka varallisuutta on Suomessa enemmän kuin koskaan. U
      Maailman menoa
      76
      2328
    4. Iski taas katumus kun en jutellut sun kanssa

      Silloin kun halusit. Mutta en enää voi sille mitään, en saa muutettua sitä hetkeä..
      Ikävä
      182
      2095
    5. Miksei asevelvollisuuden kuluja lasketa Nato-menoihin?

      Koskela (vas) kysyy aiheellisesti, että kun kerran palkka-armejaan perustuvat maat laskevat kysesestä toiminnasta aiheut
      Maailman menoa
      17
      2090
    6. SDP todellisuudessa pahin pettäjä koskaan - se syyllistyi valtiopetokseen 1918

      kun aloittivat kapinan maan laillista valtiojärjestystä vastaan. Punaiset saivat tukea Neuvosto-Venäjän bolsevikeilta,
      Maailman menoa
      126
      2050
    7. Purralla luistaa hihna isolla pyörällä

      Näki taas eilisillan tv-tentissä kuinka paniikissa oli kannatusromahduksen takia. Ei saanut kuin tiuskittua yksittäisiä
      Maailman menoa
      34
      1720
    8. Miksi vasemmisto ei vastusta ulkomaisen halpatyövoiman maahantuontia

      joka heikentää suomalaisten duunarien työmarkkina-asemaa ja rasittaa Suomen julkista taloutta? Vasemmistolla ideologin
      Maailman menoa
      112
      1653
    9. Antti Lindtman heikko johtaja - ei valtiomiesainesta lainkaan

      kyllä se eilen taas nähtiin. Ei pystynyt Antti vastaamaan edes toimittajan yhteen yksinkertaiseen kysymykseen - juu tai
      Maailman menoa
      71
      1649
    10. Miksi kaikki avioeronneet miehet eivät kunnioita naisia?

      Niin. Miksi avioeronneet miehet kohtelevat huonosti naisia, jotka lähestyvät heitä? Tämä on kokemuksen rintaääntä. Tämä
      Sinkut
      238
      1405
    Aihe