Piilotetut rivit näkyviin yksi kerrallaan

Tupmo

Kun esim. riville 6 syötetään dataa, niin alempi piilotettu rivi (esim. rivi 8) tulisi näkyviin. Ja samoin jos riville 7. syötetään lukuja, rivi 9. tulisi näkyviin ja niin eespäin...

Jotain koodin pätkää kaipailis tähän.

16

423

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • sqlääää

      Miksi?

      • Tupmo

        Taulukkopohja sisältää paljon tyhjiä rivejä mahdollista tarvetta varten. Selkeyttäisi jos taulukko olisi ennen tietojen syöttämistä kompaktimmassa paketissa eli turhat rivit piilotettuna. Eikä näitä tarvitsisi sitten tyhjiä rivejä tarvitsisi piilottaa jälkikäteen.


      • sqlääää
        Tupmo kirjoitti:

        Taulukkopohja sisältää paljon tyhjiä rivejä mahdollista tarvetta varten. Selkeyttäisi jos taulukko olisi ennen tietojen syöttämistä kompaktimmassa paketissa eli turhat rivit piilotettuna. Eikä näitä tarvitsisi sitten tyhjiä rivejä tarvitsisi piilottaa jälkikäteen.

        Auttaisko joku tuon tyylinen makro?

        https://www.extendoffice.com/documents/excel/4017-excel-auto-hide-rows-if-blank.html


    • ko. taulukon moduuliin....
      muuta rivit sopivaksi

      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Rows("6:20")) Is Nothing Then
      Application.EnableEvents = False
      Target.Offset(2, 0).EntireRow.Hidden = False
      Application.EnableEvents = True
      End If
      End Sub

      Keep EXCELing
      @Kunde

      • Tupmo

        Ei onnistu. Mitkä rivit tuohon pitäisi syöttää? Piilotetut rivit vai myös kaksi ylempää riviä? Kokeilin kyllä molempia niin ei näyttänyt tapahtuvan mitään kun ylimmälle riville tekstiä syötin.


      • sqlääää
        Tupmo kirjoitti:

        Ei onnistu. Mitkä rivit tuohon pitäisi syöttää? Piilotetut rivit vai myös kaksi ylempää riviä? Kokeilin kyllä molempia niin ei näyttänyt tapahtuvan mitään kun ylimmälle riville tekstiä syötin.

        Ei ole Excel-konetta lähettyvillä, mutta luultavasti tuossa linkin takana olevaa koodinpätkää pitäisi muuttaa kohdissa "xRg.EntireRow.Hidden" muotoon "xRg.Offset(2,0).EntireRow.Hidden", jotta se muuttaisi kaksi riviä alempana olevan rivin näkyvyyttä.


      • Tupmo kirjoitti:

        Ei onnistu. Mitkä rivit tuohon pitäisi syöttää? Piilotetut rivit vai myös kaksi ylempää riviä? Kokeilin kyllä molempia niin ei näyttänyt tapahtuvan mitään kun ylimmälle riville tekstiä syötin.

        mun koodissa piilota rivit 8- haluamasi määrä alaspäin
        sitten liität koodin ko.taulukon moduuliin ja alat syöttelemään tietoja niin poistaa piilotuksen aktiivinen solu 2
        eli kun lisäät tietoa (muutat solunarvoa) 6 rivillä niin 8 rivi tulee näkyviin ja 7 rivillä sitten 9 rivi tulee näkyviin jne...


      • Tupmo

        Jepa! Toimii! Onnistuisipa vielä niin, että piilottasikin rivin sitten jos taas poistan arvon rivilta. Siis jos koko rivillä ei missään solussa mitään arvoa niin piilottaisi sen rivin. Haluisin kuitenkin että ylimmät kaksi riviä olisi aina näkyvissä.


    • Kundepuu

      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Rows("6:20")) Is Nothing Then
      Application.EnableEvents = False
      If WorksheetFunction.CountA(Target.EntireRow) = 0 Then
      Target.Offset(2, 0).EntireRow.Hidden = True
      Else
      Target.Offset(2, 0).EntireRow.Hidden = False
      End If
      End If
      Application.EnableEvents = True
      End Sub


      Sub Resetoi()
      Application.EnableEvents = True
      End Sub


      Keep EXCEling
      @Kunde

      • Tupmo

        E-sarakkeessa onkin kaava mikä olisi hyvä siinä olevan...eli ei ole koko rivin arvot 0. Miten muokataan koodia?


    • muuta koodissa
      If WorksheetFunction.CountA(Target.EntireRow) = 1 Then

      Keep EXCEling
      @Kunde

      • Tupmo

        Jep. Vielä kun tuon saa toimimaan kaikilla välilehdillä. Toimii ekalla mutta ei seuraavilla.


    • Liitä allaoleva koodi ThisWorkBook(TämäTyökirja) moduuliin ja poista vanha koodi ko.taulukon moduulista.

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Rows("6:20")) Is Nothing Then
      Application.EnableEvents = False
      If WorksheetFunction.CountA(Target.EntireRow) = 1 Then
      Target.Offset(2, 0).EntireRow.Hidden = True
      Else
      Target.Offset(2, 0).EntireRow.Hidden = False
      End If
      End If
      Application.EnableEvents = True
      End Sub

      Keep EXCELing
      @Kunde

      • Tupmo

        Mulla on tuossa välilehdet 3-23 missä haluisin tuon toimivan, mutta lisäksi muita joita en haluisi tuon sotkevan. Onnistuuko rajata tiettyihin välilehtiin jollain koodilla?


    • melkoista lypsämistä, eikö toiveet voisi esittää kerralla ....

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      On Error Resume Next
      If Sh.Index > 2 And Sh.Index < 24 Then
      If Not Intersect(Target, Rows("6:20")) Is Nothing Then
      Application.EnableEvents = False
      If WorksheetFunction.CountA(Target.EntireRow) = 1 Then
      Target.Offset(2, 0).EntireRow.Hidden = True
      Else
      Target.Offset(2, 0).EntireRow.Hidden = False
      End If
      End If
      End If
      Application.EnableEvents = True
      End Sub

      Keep EXCEling

    • Tupmo

      Vähän uutta vielä tämä makrojen maailma. Kiitosta vaan avusta. Nyt toimii nuo.

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

    Luetuimmat keskustelut

    1. Niin surullinen

      onnettomuus taas. Voimia ihan kaikille läheisille,kavereille ja kouluun 🙏
      Lapua
      221
      5071
    2. MIksi suurin osa persuista on alkoholisteja?

      Tätä jäin pohdiskelemaan....
      Maailman menoa
      38
      3398
    3. 35
      2918
    4. Kehutaan vaihteeksi Perussuomalaisia

      Perussuomalaiset ovat olleet melkoisen lokakampanjoinnin kohteena, vaikka ovat saaneet paljon hyvää aikaiseksi. Nyt on
      Maailman menoa
      141
      2783
    5. Paloautoko se oli kolarissa Juntusrannan risteyksessä?

      Oli kuva paloautosta nettijutussa.
      Suomussalmi
      25
      2448
    6. SDP ylivoimainen ykkönen

      En ole koskaan viitsinyt käydä äänestämässä, mutta nyt SDP:n etumatka on niin kutkuttava, että pakkohan se on vaivautua.
      Maailman menoa
      68
      2276
    7. Tiesitkö? Johannes Brotheruksen ex-isäpuoli on kuin onkin Mikko Kuustonen - Tästä on kyse!

      Tiesitkö? Ja hehän on kuin kaksi marjaa... Johannes Brotherus on KUUMAA-yhtyeen jäsen ja tänä syksynä mukana Vain elämää
      Suomalaiset julkkikset
      19
      2178
    8. Mitä tapahtuu?

      Mitä säpäkän risteyksessä on tapahtunut kun poliiseja, ambulansseja ja kopteri paikalla?
      Outokumpu
      31
      1820
    9. Roiskeläpät takaisin niin alkaa lasit kestämään

      "Tuulilaseja hajottava talvi-ilmiö on ehkä ratkennut" Tämän päivän autoissa kun on esimerkiksi vanhempaa autokalustoa s
      Yleistä autoilusta
      41
      1762
    10. Polttomoottoriauto on köyhän merkki

      Kun ei ole varaa ostaa sähköautoa, niin joutuu köyhän autoa käyttämään.
      Maailman menoa
      83
      1438
    Aihe