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. 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
      67
      2475
    2. 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
      84
      2374
    3. Miksei asevelvollisuuden kuluja lasketa Nato-menoihin?

      Koskela (vas) kysyy aiheellisesti, että kun kerran palkka-armejaan perustuvat maat laskevat kysesestä toiminnasta aiheut
      Maailman menoa
      17
      2100
    4. 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
      37
      1745
    5. 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
      81
      1694
    6. 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
      1663
    7. 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
      257
      1521
    8. Mitä koululla tapahtui?

      Onks kellää mitää vinkkilöit miks helikopteria tarvittii vuoksenniskan koulul https://www.is.fi/kotimaa/art-200001193287
      Imatra
      25
      1017
    9. Persuilla kannatusromahdus - enää 13,5%.

      Ylen tuorein puolueiden kannatusmittaus kertoo, että persujen kannatus on enää 13,5 prosenttiyksikköä. Kepu on mennyt he
      Perussuomalaiset
      321
      973
    10. Unelmia Italiassa: Totuus Ralph-pojan kanssa pitkästä ajomatkasta Italiaan

      Viime kesän kynnyksellä Kikotin-matkailuauto lähti tien päälle ja matka halki Euroopan kohti Italiaa starttasi. Tämä oli
      Tv-sarjat
      3
      827
    Aihe