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

Datumvraag

Status
Niet open voor verdere reacties.

pf.de.vries

Gebruiker
Lid geworden
16 apr 2005
Berichten
53
Dag allemaal,

Is het mogelijk in vba in een kolom(geboortedatum) te laten zoeken naar iemand die binnen en week jarig wordt?
Ik heb al lopen puzzelen met datediff etc, maar tot op heden kan ik wel weer laten geven dat iemand ... jaar wordt adhv geboortedaum en Now, maar laten zoeken op overeenkomstige dag + maand lukt me niet.
Ik heb ook gegoogled enz. maar kan geen voorbeeld vinden...?

Groeten Pascal
 
Pascal, waarom VBA? Kan je geen voorwaardelijke opmaak gebruiken?
 
Nou,
dat heb ik ook wel zitten proberen en dat lukte in zekere zin wel, maar uit optische en esthetische overwegingen lijkt het mij toch mooier een messagebox te krijgen bij opening van het bestand.
Daarbij kan ik het gewoon niet hebben :evil: dat ik er niet uit kom omdat het volgens mij wel mogelijk moet zijn. ...:confused:
 
Nou,
dat heb ik ook wel zitten proberen en dat lukte in zekere zin wel, maar uit optische en esthetische overwegingen lijkt het mij toch mooier een messagebox te krijgen bij opening van het bestand.
Daarbij kan ik het gewoon niet hebben :evil: dat ik er niet uit kom omdat het volgens mij wel mogelijk moet zijn. ...:confused:

Uiteraard is dat mogelijk.

Wil je bij openen een overzichtje, of gewoon in een extra kolom de tekst "zal verjaren binnen de week" voor wie het van toepassing is?
 
Ik wil graag dmv een msgbox een melding krijgen, en dan hebben we eigenlijk twee opties:

1. één bericht met een overzicht van iedereen die binnen een week jarig wordt met de melding "Naam wordt ... jaar"
2. meerdere berichtjes met een melding "Naam wordt ... jaar" per persoon.

In principe ben ik blij met optie twee, maar als je van het weekend niet hoeft te voetballen, heb je misschien ook nog tijd op optie twee uit te leggen...:p

Ik hoef in ieder geval geen melding in de sheet als zodanig te krijgen.
Groeten Pascal
 
Ik zet twee keer optie twee neer als voorkeur zie ik:o
Ik prefereer optie 2 op optie 1
 
Pascal,

Was toch niet zo simpel als eerst gedacht, maar hier is het wel:

Code:
Option Explicit

Sub berichtbijverjaardagen()
Dim c As Range, msg As String, aantal As Integer, volgverjaard As Date, leeftijd As String
msg = "Jarig in de komende week:"
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp))
    
    'volgende verjaardag berekenen
    volgverjaard = DateSerial(Year(Date) + IIf(DateSerial(Year(Date), Month(c.Offset(, 1)), Day(c.Offset(, 1))) < Date, 1, 0), _
        Month(c.Offset(, 1)), Day(c.Offset(, 1)))

    If volgverjaard <= Date + 7 And volgverjaard >= Date Then
        leeftijd = berekenleeftijd(c.Offset(, 1), volgverjaard)
        msg = msg & vbCr & vbCr & c & vbTab & vbTab & Format(c.Offset(, 1), "dd/mm") & _
            vbTab & vbTab & leeftijd & " jaar"
        aantal = aantal + 1
    End If
Next c

If aantal = 0 Then
    msg = "Je hoeft geen pakjes te kopen, er zijn toch geen jarigen."
Else
    msg = msg & vbCr & vbCr & vbTab & "Totaal:" & vbTab & vbTab & aantal
End If
MsgBox msg, vbInformation + vbOKOnly, "Verjaardagskalender"
End Sub

Function berekenleeftijd(datum1 As Date, datum2 As Date) As String
    Dim Y As Integer, temp1 As Date
    temp1 = DateSerial(Year(datum2), Month(datum1), Day(datum1))
    berekenleeftijd = Year(datum2) - Year(datum1) + (temp1 > datum2)
End Function

Wigi
 
Werkt perfect wigi!!!
Ik heb het aangepast aan mijn bestand waar de volgorde van namen en geboortedata wat uit elkaar lagen, maar het werkt prima.
Heel erg bedankt.
:thumb: :thumb: :thumb:
ik zal de vraag een groene vink geven!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan