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
950
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
En voi jutella kanssasi
tietenkään, mutta täällä voin sanoa sinulle, että se sinun hiljaisuutesi ja herkkyytesi eivät ole heikkoutta. Ne ovat ih567207Trump ja Vance murskasivat ja nolasivat Zelenskyn tiedotusvälineiden edessä Valkoisessa talossa.
Jopa oli uskomaton tilaisuus Valkoisessa talossa. Zelensky jäi täydelliseksi lehdellä soittelijaksi suhteessa Trumpiin j7193370Mikä on kaivattusi ärsyttävin piirre?
Mun kaivattu on erittäin vastahakoinen puhumaan itsestä. Kääntää puheenaiheen aina muuhun kun hänestä tulee puhetta.1481650Zelenskyi ei suostunut nöyrtymään Trumpin ja Vancen edessä, siksi meni pieleen
Trumppia täytyy imarrella, silloin homma toimii aina. Tähän Zelenskyi ei suostunut.2781530- 841355
Kokoomus haluaa hoitaa flussat yksityisellä, jotta säästettäisiin rahaa ja aikaa
Mies hakeutui Terveystalo Kamppiin flunssaoireiden takia helmikuisena sunnuntai-iltana. Diagnoosiksi kirjattiin influens841351- 911240
Anteeksi Pekka -vedätys
Apuna Ry:n somessa levinnyt Anteeksi Pakka -kampanja saa aina vaan kummallisempia piirteitä. ”Mä pyydän anteeksi. Mä631217Rakkaus ei iloitse vääryydestä vaan iloitsee yhdessä TOTUUDEN kanssa.
Tajuatteko, että jotkut ihmiset pitävät siitä, kun toiset kaatuvat? He nauttivat siitä, kun toiset mokaavat tai käyttävä2331173- 811134