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
983
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
Olet toisen kanssa
...ja minä yhä vain sinua kaipaan. Tiedän ettet ole onnellinen siellä. Älä hukkaa aitoa onnea ja rakkautta hukkaan vain1771449- 281346
Kuka teistä on paras nainen
A-nainen? J-nainen? K-nainen? M-nainen? S-nainen? Vai kenties joku muu...? 😊611249- 781194
Immu otti pataan
Olen pettynyt, hänen piti viedä Stagalaa kuin litran mittaa - mutta kuinka kävikään? Voi hemmetti sentään.... Ääääääh!671163Osaako joku selittää tätä
Että miksi mulle on joka toinen ventovieras ihminen tyly ainakin ilmeillään ja eleillään?751162Jos me joskus nähtäisiin
niin ei kai sen vielä tarvitsisi merkitä sen enempää? Ja voihan olla ettei kumpikaan enää siinä vaiheessa edes haluaisi1031153- 54988
Lesken uusi
Onko totta että puolangan kunnalla töissä ollut mies joka kuoli niin sen vaimolla jo uusi lohduttaja. Pitäneekö paikkans18892Persun suusta:"Köyhät on luusereita ja ansaitsevat köyhyyden"
Ministeri Juuston apulainen näin uhoaa. Mitäs siinä. Kyllä on jo tiedetty muutaman vuoden hallitustyön pohjalta että per174844