• 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.

Automatisch niet ingevulde regels verbergen

Status
Niet open voor verdere reacties.

PaulusdeB

Gebruiker
Lid geworden
26 okt 2008
Berichten
17
Hallo forumleden,

Dikwijls heb ik dit forum geraadpleegd om bepaalde excelvraagstukken op te lossen. Was de oplossing niet gelijk te vinden, dan kon ik de formules altijd nog wel aanpassen of het lezen van dit forum bracht weer andere inzichten.
Dus tot zover... bedankt!

Maar nu kom ik echt niet verder. Dagen spitten in dit forum en gelijkende oplossingen uitproberen heeft de oplossing nog niet gebracht.

Het bijgevoegde bestand is een uitgeklede versie van een jaarrooster. Omdat dit bestand door meerderen wordt gebruikt en op een netwerk staat, wilde ik eigenlijk niet met macro's werken. Maar daar kom ik nu niet meer onderuit, denk ik.

In het bovenste deel worden de medewerkers handmatig per dienst per dag op een object ingedeeld. In het onderste deel (na rij 73) krijg je dan een overzicht per object welke medewerker waar werkt. Met behulp van een hier gevonden formule!
Maar deze formule maakt ook dat er per object ( ik heb er 2 laten staan) veel lege regels staan. Natuurlijk kun je deze lege regels met de hand verbergen, maar om dat voor 5 objecten, 3 diensten per object en 52 weken te doen, gaat mij iets te ver. Daarbij komt dat als er boven in het document een medewerker ergens anders geplaatst wordt, deze, of niet meer zichtbaar is, of dat er een lege regel ontstaat. Het moet dus automatisch.
Tot en met de laatste regel met de dag met de meeste medewerkers moet dus nog zichtbaar blijven. Nu in dit geval rijen 73:75 en rijen 105:108; de rest verborgen.

Dit probleem is voor mij geen uitdaging meer, maar onoplosbaar. :mad: Dus ik hoop dat jullie er nog een uitdaging in zien.

Succes!

Paul
 

Bijlagen

Ik heb één oplossing:
Ik heb in kolom A (73 tot 250) aantalarg geteld in de rijen en in kleur wit gezet zodat je het niet ziet, en volgende macro doet dan de rest.

Code:
Sub verbergen()
Dim rij As Integer
Application.ScreenUpdating = False
For rij = 73 To 250
Rows(rij).Hidden = True
If Cells(rij, 1) > 0 Then Rows(rij).Hidden = False
Next
End Sub

Dit kan ook aan een event hangen of achter een knop.

Succes, Cobbe
 
Hallo Cobbe,

Bedankt voor je snelle reactie.
Ik heb gelijk je oplossing uitgeprobeerd en dacht het te hebben gevonden.
Maar niet helemaal.

De rijen waar de matrixformules staan om de Medewerkers weer te geven (de eerste vijf van elke dag), dus ook daar waar geen medewerkers staan, worden nu ook meegeteld in de AANTALARG-formule en worden zo niet verborgen door de macro. Bijv A109 geeft evenveel resultaat als A108 terwijl in X109 geen medewerker staat.
het gaat er juist om om deze rijen ook te verbergen. Dus als er helemaal geen medewerkers op een object zijn, dat deze rijen toch verborgen worden.
 
Dus depep,

ben ik gelijk gaan kijken naar jouw oplossing.
Ik dacht al dat het niet mogelijk zou zijn zonder macro en heb me er bij neergelegd.
Ook van deze link en site kan ik weer veel leren, dus daarmee heb je me al zeker verder geholpen.

Maar de ChkCol code kan ik niet helemaal volgen. Ik neem aan dat deze de aangegeven kolom controleert. Maar kan die dan ook met meerdere kolommen omgaan? Mij lukte het niet.
 
Cobbe,

Ondertussen weer aan het stoeien geweest met jouw oplossing. En het is mij gelukt! :thumb:
Maar nu met de AANTAL-formule in de A-kolom en in kolom J de ALS-formule: als er in de F-kolom geen tekst staat dan "", anders 1. Dus nu telt de AANTAL-formule de aantal 1'tjes in de rij en jouw macro doet de rest.

Alleen nu het aan een event hangen. De macro zo uitvoeren of aan een knop hangen, geen probleem. Aan welk event bijvoorbeeld?
 
Ik zou het maar achter een button hangen want anders riskeer je een geflikker van je welste.
Ook zal het event niet reageren op een validatie zonder berekening.

Deze button kan je dan in je werkbalk plaatsen.

Cobbe
 
Zet deze code in je werkblad 53 en/of andere.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(ActiveCell, Range("A1:AR54")) Is Nothing Then Exit Sub
verbergen
End Sub

En testen maar.:)

Cobbe
 
Fantastisch!! :thumb: :thumb:
Maar is het dan de bedoeling deze macro in 52 werkbladen te gaan toevoegen? Of kan het ook in één keer in ThisWorkbook?
 
Je ziet er bestaan ook goei vragen.:)

Volgens mij moet dat kunnen via ThisWorkbook maar ik weet niet hoe.
Over naar familie.......en anderen.

Cobbe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan