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

403

    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. Suureksi onneksesi on myönnettävä

      Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️
      Ikävä
      87
      1833
    2. Perusmuotoiset TV-lähetykset loppu

      Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia
      Apua aloittelijalle
      145
      1298
    3. YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua

      Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä
      Äänekoski
      62
      1120
    4. No ei sun asunto eikä mikään

      muukaan sussa ole erikoista. 🤣 köyhä 🤣
      Ikävä
      64
      988
    5. Hyvin. Ikävää nainen,

      Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan
      Ikävä
      82
      921
    6. Uskomaton tekninen vaaliliitto poimii rusinoita pullasta

      Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli
      Pyhäjärvi
      85
      850
    7. Linnasuolla poliisi operaatio

      Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/8646060
      Imatra
      29
      836
    8. Martina lähdössä Ibizalle

      Eikä Eskokaan tiennyt matkasta. Nyt ollaan jännän äärellä.
      Kotimaiset julkkisjuorut
      127
      833
    9. Katsoin mies itseäni rehellisesti peiliin

      Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.
      Ikävä
      47
      827
    10. Mitä mietit Honey?

      Kulta nainen ❤️❤️
      Ikävä
      57
      810
    Aihe