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

394

    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.


    • kunde

      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. Mitään järkeä?

      Että ollaan erillään? Kummankin pää on kovilla.
      Ikävä
      119
      1682
    2. Noniin rakas

      Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi
      Ikävä
      99
      1508
    3. Lasten hyväksikäyttö netissä - Joka 3. nuori on saanut seksuaalisen yhteydenoton pedofiililtä

      Järkyttävää! Lapsiin kohdistuva seksuaalinen hyväksikäyttö verkossa on yhä pahempi ongelma. Ulkolinja: Lasten hyväksikäy
      Maailman menoa
      37
      963
    4. Multa sulle

      Pyörit 24/7 mielessä, kuljet mun mukana, mielessä kyselen sun mielipiteitä, vitsailen sulle, olen sydän auki, aitona. M
      Ikävä
      29
      889
    5. Kumpi vetoaa enemmän sinuun

      Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?
      Ikävä
      38
      841
    6. Nainen, olen tutkinut sinua paljon

      Salaisuutesi ei ole minulle salaisuus. Ehkä teimme jonkinlaista vaihtokauppaa kun tutkisimme toisiamme. Meillä oli kumm
      Ikävä
      50
      806
    7. Mies, eihän sulla ole vaimoa tai naisystävää?

      Minusta tuntuu jotenkin, että olisit eronnut joskus, vaikka en edes tiedä onko se totta. Jos oletkin oikeasti edelleen s
      Ikävä
      43
      758
    8. Olet myös vähän ärsyttävä

      Tuntuu, että olet tahallaan nuin vaikeasti tavoiteltava. En tiedä kauanko jaksan tätä näin.
      Ikävä
      37
      750
    9. Okei nyt mä ymmärrän

      Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘
      Ikävä
      56
      748
    10. Onko sulla empatiakykyä?

      Etkö tajua yhtään miltä tämä tuntuu minusta? Minä ainakin yritän ymmärtää miltä sinusta voisi tuntua. En usko, että olet
      Ikävä
      37
      720
    Aihe