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
885
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
- 1732315
Onneksi olkoon Venäjä!
Presidentti Putin on saanut vaaleissa vahvan kannatuksen ja siis jatkokauden toimessaan Venäjän presidenttinä. Onnittulu2152233- 1932180
- 642126
- 301478
Yritysten osingot jaettava työntekijöille
Työntekijäthän yrityksen tuloksenkin tekevät. Omistajat voivat alkaa työntekijöiksi saadakseen oman osuutensa. Muutos2031416Näin kävi tänään
Olin tänään kauan vessassa ja haaveilin sinusta nainen. Melkein jäi pyyhkimättäkin.271362Nyt kun kaipaan sinua, ilman toivoa sinusta
huomaan, miten paljon sinua menneen noin vuoden aikana ajattelinkaan. Et arvaakaan, miten pitkiä yksinäiset tunnit tääll861330- 471184
- 1261147