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

354

    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. Hetken jo luulin, että en ikävöi sinua koko aikaa

      Mutta nyt on sitten taas ihan hirveä ikävä jotenkin. Tiedätköhän sinä edes, kuinka peruuttamattomasti minä olen sinuun r
      Ikävä
      34
      5368
    2. Outoa että Trump ekana sanoutui irti ilmastosopimuksesta

      kun Kaliforniaa riepottelee siitä johtuvat tuhoisat maastopalot. Hirmumyrskytkin ovat USA:ssa olleet tuhoisia.
      Maailman menoa
      484
      2484
    3. Eli jos toisen hiki haisee ns. omaan nenään siedettävältä

      Se kertoo hyvästä yhteensopivuudesta. Selvä! Olet mies minun. 🫵🥳
      Ikävä
      27
      1259
    4. JOKO OLETTE KUULLET, MITÄ KIURUVEDELLÄ ON SATTUNUT!

      Oletteko jo kuulleet, mitä Kiuruvedellä on sattunut, voi hyvänen aika? Aivan viime tuntien aikana olisi sattunut, jos t
      Kiuruvesi
      5
      1075
    5. En tiedä miksi kerroin sinusta täällä

      Siksi kai, kun meidän juttu on niin alkuvaiheessa, etten voi vielä puhua siitä kenellekään.
      Tunteet
      16
      957
    6. Oho! Queen of Fucking Everything villitsee - Ikean sininen luottotuote nappasi hervottoman idean!

      Ikea on ajan hermoilla! Aika hauska idea ja Queen of Fucking Everything -ajatus toimii hyvin tässäkin. Lue lisää: http
      Mainonta ja markkinointi
      7
      934
    7. Nainen, tunnetko saman kuin minä

      Syvän yhteyden välillämme, silloin kun se tunne tulee. Niinä hetkinä minulla on niin järjettömän suuri ikävä sinua. Ikäv
      Ikävä
      41
      812
    8. HS - Yllätyskäänne Eagle S -tutkinnassa, Supo pitää onnettomuutena

      HS:n mukaan esitutkinta joudutaan todennäköisesti keskeyttämään syyttäjän päätöksellä mikäli näyttöä tahallisuudesta ei
      Maailman menoa
      193
      784
    9. Ei ois kyllä kivaa

      Jos miestä ei kiinnostais ollenkaan minun seura. Aina huitelis ties missä tai olis omassa seurassaan. Kaikki muu ois kiv
      Ikävä
      3
      764
    10. Pystytkö unohtamaan

      Minut?
      Ikävä
      53
      747
    Aihe