• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

lege rijen automatisch verbergen en weer zichtbaar maken

Status
Niet open voor verdere reacties.

shalhevet

Gebruiker
Lid geworden
9 okt 2007
Berichten
245
Hallo,

In mijn kasboek werkboek heb ik 500 regels.

Nu wil de eerste 5 regels (beginnen bij A5) zichtbaar hebben en alle regels daarna automatisch verbergen.

Als cel A10 met iets ingevuld is (een cijfer) dan moet regel 11 zichtbaar worden. zo moet het voor alle regels. Als de cel in kolom A van de voorgaande regel niet meer leeg is moet de volgende regel zichtbaar worden.

Tijdens het zoeken op het net ben ik een vergelijkbare vraag tegengekomen met de code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Aantal As Integer

If Target.Row = 1 And Target.Column = 1 Then
  Aantal = Cells(1, 1).Value
  Call Verbergen(Aantal)
End If

End Sub


Private Sub Verbergen(ByVal Aantal As Integer)

  Range("A5:A" & Trim(Str(Aantal + 4))).EntireRow.Hidden = False
  Range("A" & Trim(Str(Aantal + 5)) & ":A20").EntireRow.Hidden = True
  
End Sub

Maar ik krijg het niet aan de praat.

Als iemand een idee heeft hoor ik het graag :-)


Bekijk bijlage Voorbeeld Kasboek.xlsm
 
Laatst bewerkt:
mcs51mc, hartelijk dank voor deze super snelle reactie en meteen met de goede oplossing.

Er is maar een dingetje die ik zou willen veranderen:

Stel dat regel A11 zichtbaar is geworden omdat ik in cel A10 al een cijfer heb ingetoetst, en ik haal dat cijfer weg. Regel A11 blijft nu nog wel zichtbaar maar ik zou graag willen dat deze weer verborgen wordt.

Is dat ook mogelijk?

En hoe kan ik deze toepassen op meerdere worksheets? (heb werkbladen voor alle maanden op hetzelfde bestand)
 
Laatst bewerkt:
De code is verhuist naar een module in een routine die "HideUnhideNextRow" noemt en de range meekrijgt van de gewijzigde cel.
Door nu in de Change event van elke sheet die routine aan te roepen zou dat moeten werken voor elke sheet dat je toevoegt.
Hopelijk ben je hiermee geholpen... ...

Ik weet niet hoe je denkt alle rijen onzichtbaar te maken in de eerste plaats, daarom heb ik de "HideAll" routine niet verder aangepast.
Door de naam van de sheet te wijzigen in de code en deze manueel 1 maal laten lopen of iets anders ????

Bekijk bijlage 2013-08-18--VoorbeeldKasboek-UnhideRows.xlsm
 
Laatst bewerkt:
Je bent fantastisch :thumb:

Ik ben hiermee zeker geholpen.

De regels dacht ik handmatig te verbergen bij het eerste gebruik (als bestand opgeslagen is voor de eerste keer). Vervolgens zullen de regels vanzelf weer zichtbaar / verborgen worden door een cijfer in kolom A in te toetsen.

De hele bedoeling is dat, als men het bestand wil afdrukken hoeven alle lege regels niet mee gerekend worden en wordt dus alleen datgene wat ingevuld is, samen met de totale calculatie aan het eind geprint.

Ik loop alleen tegen 1 probleem maar dat ligt denk ik niet aan de code. Bij iedere pagina heb ik de titels staan. Wanneer ik op de eerste pagina alle regels heb gebruikt en zou de tweede pagina tevoorschijn moeten komen loop ik vast omdat hij geen cijfer herkent in de vorige cel (logisch, want daar staat de titel en geen cijfer).

Is er een manier om dit te omzeilen?

Tot zover is mijn dank in ieder geval erg groot !
 
Ik vind deze code erg handig en probeer het toe te passen op andere bestanden met zoveel rijen.

Overal kom ik echter hetzelfde probleem tegen, ik gebruik bij de meeste bestanden titels. Deze zet ik bij iedere pagina.

Als ik dan met deze code werk en aan het eind van pagina 1 bijv. kom, dan worden de titels van pagina 2 weergegeven maar kan ik niet verder gaan.

Ik weet niet of het dan mogelijk is om de code de laten herkennen dat het een volgende pagina betreft, en dat hij dan de eerste regel van de pagina (waar de titels dus staan) over te slaan.

Iemand een idee?
 
Wat bedoel je juist met Titels en Pagina's ???
Post eens één van je bestanden... ... ...
 
Als voorbeeld doe ik weer mijn kasboek bestand met 2 pagina's.

De bedoeling is dat de telling bij de laatste regel van de eerste pagina (in dit geval cel 38) een cijfer (of wat anders) wordt ingevuld, worden automatisch de eerste twee regels van pagina 2 zichtbaar (daar staan de titels "Uitgaven en inkomsten" in de ene regel en "nr, datum, omschrijving etc" in de tweede regel).

in mijn voorbeeld zijn dat regels 39 en 40.

In regel 41 staat automatisch de start saldo voor deze pagina (wordt over genomen van de vorige pagina).

Kortom, de code zou dan bij het invoeren van de laatste regel van pagina 1 (regel 38) regels 39,40,41 en 42 moeten laten zien waarbij in regel 42 moet weer ingevuld worden voordat regel 43 zichtbaar wordt.

Voor het gemak heb ik nu in de voorbeeld bestand alle regels zichtbaar gemaakt tot regel 37.

Bekijk bijlage kasboekmeerdere pagina.xlsm
 
Kortom je wilt rijen 1&2 bovenaan elk uitgeprint blad hebben ? :cool: ?
Wel dan doe je dat niet door om de zoveel rijen in het werkblad rijen 1&2 te herhalen :eek:

Wel ga je als volgt tewerk:
In het lint ga naar het 3de deel "Page Layout"
Vervolgens kijk je in het 2de deel "Page Setup"
Daar zal je een icoontje "Print Titles" vinden
Klik er op en een nieuw venster wordt geopend "Page Setup"
Kies daar de laatste tab "Sheet"
Daar zal je in het 2de deel "Print titles" een input "Rows to repeat at top:" vinden
Vul daar "$1:$2" in of klik op het knopje uiterst rechts en selecteer de eerste 2 rijenin het werkblad.

Nu zullen de eerste 2 rijen automatisch bovenaan elk blad uitgeprint worden.
Vergeet niet al je kopiëen van rijen 1&2 in de sheet te wissen.

Hopelijk is dit een antwoord op je vraag!


PS: Sorry voor de UK beschrijvingen maar ik heb een UK Excel.
Ook de benamingen van de lint onderdelen zijn niet erg katholiek, maar de officiële ken ik niet :(


PS2: Ga niet via de FILE\PRINT\PAGE SETUP naar het "Page setup" venster want dan is "Rows to repeat at top:" niet bereikbaar. Why? Ask Bill ... ... ...
 
Laatst bewerkt:
mcs51mc,

Dat wist ik dus helemaal niet... wat geweldig!!!!!

Dat scheelt voor mij ook zoveel werk.

Super bedankt voor deze tip en de duidelijke uitleg.

Voor de mensen die NL versie hebben, hieronder de stappen zoals mcs51mc ze had geschreven:

1. Ga naar pagina indeling
2. bij de tweede deel, "pagina instelling" vind je de knop Titels afdrukken
3. Klik daarop en een nieuw scherm wordt geopend
4. klik op de laatste tabblad (Blad)
5. in de 3e regel, bij: "Rijen bovenaan op elke pagina" voel je de rijen die u wilt op de volgende manier:

$1:$2 (voor regels 1-2) of $1:$4 (voor regels 1-4)

mcs51mc,

nogmaals bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan