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

Verzamel staat maken

Status
Niet open voor verdere reacties.

schuurar

Gebruiker
Lid geworden
15 aug 2009
Berichten
417
Beste Forum experts.

Ik heb een (denk ik) aardige db voor het bij houden van de werk uren. (dank forum voor alle hulp!)
Voor elk persoon een apart blad met de gewerkte uren of dat ze op vakantie/snip/ziek zijn geweest.
Werkt voor mij prima maar wil het graag nog beter krijgen.

Nu zou ik graag op een apart blad een verzamel staat krijgen waarop ik kan zien wie wanneer weg is geweest.
Is dit mogelijk om excel te laten zoeken zoals ik de db heb opgebouwd. (zie bijlage)
Misschien met een VERT.ZOEKEN ??

Ik hoop dat iemand me weer kan helpen!

Bedankt alvast!!
 

Bijlagen

Laatst bewerkt:
Hier kan je mee starten
Code:
Sub tst()
For i = 1 To Sheets.Count - 1
    For Each cl In Sheets(i).[D6:AB15]
        If cl = "Vakantie" Then
            With [Verzamel!A65536].End(xlUp)
                .Offset(1) = Sheets(i).[D2]
                .Offset(1, 1) = cl.Offset(-1)
                .Offset(1, 2) = cl
            End With
        End If
    Next
Next
End Sub
 
Hier ga ik vast mee stoeien!,
Kijken hoever ik kom.
Bedankt alvast!
 
Beste collega bakker :)

Heb er mee zitten "spelen"en heb he volgende nu berijkt.
Heb de code ingevoerd.
Heb een button gemaakt en de code er aan gehangen.
Als ik op de button klik komt er een lijst met de namen (kolom1)
Er komt een lijst met de datum (kolom2)na aanpassen van celeigenschap
Er komt een lijst met woord vakantie (kolom3)

Op zich dus goed nieuws dat er wel een mogelijkheid is om het voor elkaar te krijgen!
Alleen werkt niet helemaal hoe ik het zou willen.
Als je nu twee keer op de button klikt vult hij alles weer opnieuw in incl. wat er al stond en heb je dus een lijst met dubbele informatie.
Het liefts zou ik het eigenlijk willen hebben zonder button dat excel het gewoon zelf invuld.
Weet niet of het mogelijk is ?!

In elk geval bedankt voor zover alvast!
 
Heb de button aangepast zodat hij eerst alles wist en dan weer invuld. Dan heb ik geen dubbele gegevens meer.
 
ZEER verstandig bekeken :D
Zonder knop wordt dit een beeje moeilijk aangezien je toch een trigger nodig hebt om dit automatisch te laten starten
 
Oke dan met knop! Ook geen ramp.

Hoe kan ik deze regel aanpassen
Code:
If cl = "Vakantie" Then
zodat hij het ook aangeeft als er Snipperdag staat ?

Kom er niet uit!
Verder nog tips om te verbeteren ?
Hoor het graag !!!
 
Code:
Sub tst()
For i = 1 To Sheets.Count - 1 'aantal werkbladen tellen - laatste blad (verzamelblad) om het aantal loops te bepalen
    For Each cl In Sheets(i).[D6:AB15] ' elke cel in het opgegeven bereik
        If cl = "Vakantie" [COLOR="red"]Or cl = "Snipperdag"[/COLOR] Then 'wordt gecontroleerd op z'n waarde
            With [Verzamel!A65536].End(xlUp) 'de laatste gevulde cel in kolom A op verzamelblad wordt gezocht
                .Offset(1) = Sheets(i).[D2] ' en in de eerste lege cel eronder wordt de naam
                .Offset(1, 1) = cl.Offset(-1) ' in de kolom daarnaast de datum
                .Offset(1, 2) = cl 'en in de kolom daarnaast het soort dag weggeschreven
            End With ' de bewerking wordt beeïndigd
        End If
    Next 'de volgende cel wordt onderzocht
Next 'het volgende blad wordt geselecteerd
End Sub
 
Laatst bewerkt:
Bedankt bakker.

Ik ga hier mee stoeien weer vanavond!
Kun je me nog uitleg geven hoe je dit opbouwd / vertaald ??
Of is dat te veel tikken ?
Wil er graag meer van leren!

Vertel ik jou hoe je heerlijke moorkoppen maakt :d
 
Heb in mijn vorige post een woordje uitleg bijgeschreven :thumb:
 
Beste bakker,

Ik heb de code nu in me complete db ingevoerd.
Wat er nu gebeurt :
Naam invullen gaat goed.
Vak/Snip invullen gaat goed.

Allleen de datum maakt hij wat raars van.
Hij gaat 1 dag terug.
Datum 1 dag verder.
Jaar gaat 4 jaar verder.

Het zou dus moeten zijn: Dinsdag 11 mei 2010
en hij maakt er nu van : Maandag 12 mei 2014 ??

Ik snap het niet! Wat gaat er fout ?
 
Dan zal ik toch je originele database nodig hebben want in je voorbeeld gaat het prima. Staat er teveel private info in stuur me dan een PB zodat ik je mijn e-mailadres kan doorgeven zodat je mij het bestand kan doorsturen.
 
Beste bakker,
Allleen de datum maakt hij wat raars van.
Hij gaat 1 dag terug.
Datum 1 dag verder.
Jaar gaat 4 jaar verder.

Het zou dus moeten zijn: Dinsdag 11 mei 2010
en hij maakt er nu van : Maandag 12 mei 2014 ??

Ik snap het niet! Wat gaat er fout ?

Je datumsysteem bij Menu Extra → Opties → Berekenen staat op 1904.
Haal het vinkje daar weg.
 
Dan zal ik toch je originele database nodig hebben want in je voorbeeld gaat het prima. Staat er teveel private info in stuur me dan een PB zodat ik je mijn e-mailadres kan doorgeven zodat je mij het bestand kan doorsturen.

Ik heb idd in me voorbeeld de datasysteem niet op 1904 staan maar in me db wel.
Zoals ik al zei heb ik die wel nodig op te rekenen met negatieve uren.
Betekend dit dat het nu ophoud ? Dat het niet mogelijk is ?
 
Probeer dit eens
Code:
With [Verzamel!A65536].End(xlUp)
                .Offset(1) = Sheets(i).[D2]
                .Offset(1, 1) = DateValue(Day(cl.Offset(-1)) & "/" & Month(cl.Offset(-1)) & "/" & Year(cl.Offset(-1)))
                .Offset(1, 2) = cl
            End With
 
Laatst bewerkt:
:thumb: Ja zo werkt het wel !!

Helemaal goed.

Bedankt.

Nu heb ik alleen nog een vraag hierbij.
Zou het mogelijk zijn om aan de hand van deze lijst een kalender te vullen ( zie bestand)
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan