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ä.
Rivien piilotus
13
1142
Vastaukset
- 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
@KundeEn 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
@KundeOkei, 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
@KundeUnohdin 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
Kuka oli töllöntyön tekijä?
Ketä on nyt pidätetty? Oliko syy mustasukkaisuus tyttöystävästä tai oliko muita lieventäviä seikkoja? Katuuko tekijä nyt312903Kotikasvatus siitä se lähtee eli missä meni vikaan että lapsesta tuli puukottaja
Ottakaa muut oppia, normaali kotielämä. Ei liikaa edes hengellisyyttä.431501Kun kohtaat jotain ainutlaatuista
ja upeaa, johon rakastut ehkä ensimmäistä kertaa ihan tosissaan. Sitten sähläät kaiken omien epävarmuuksien vuoksi. Eikö19951Mua ahdistaa
Tämä juttu. Miksi nainen torjuit minut vaikka kiinnostuksen merkkejä oli? Eihän tämän jutun olisi tarvinut johtaa sen pi32919Ei tämä enää tervettä oo
Sydän pamppaillen oon jo tunnin meinannu laittaa sulle viestiä... Sormi tärisee lähetä kuvakkeen kohdalla.22894- 51868
Tuli vain mieleen
että etkös sä yritäkin muiden miehiä? Se sun tuttava kertoi. En arvosta tuollaista naista, ihmekös kun oot sinkku. m -37820Perämoottoreiden huolto melkoisen kallista
Minulla on tuollainen keskikokoinen perämoottori ja yleistä merkkiä. Kyselin sille keväthuoltoa paikallisista liikkeistä36783Tanskademarit: ilman risusavottaa ei rahaa!
Näin persuna on pakko ihailla noita Tanskan demareita. Tanskalaisessa sosiaalidemokratiassa ei työtön saa rahaa ellei os172772- 48689