Ga naar inhoud

Welkom op PC Helpforum!
PC Helpforum helpt GRATIS computergebruikers sinds 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!

Vriendelijk verzoek: whitelist www.pc-helpforum.be in je adblocker.

Beste bezoeker. Je ziet deze tekst omdat een adblocker, plugin of andere software onze advertenties blokkeert. PC Helpforum helpt jaarlijks gratis duizenden mensen met computerproblemen. Deze website en server kunnen we enkel onderhouden dankzij de inkomsten uit advertenties. Vandaar een vriendelijk verzoek: whitelist onze site zodat we jullie gratis verder kunnen helpen. Klik hier om te lezen waarom en hoe je kunt whitelisten.



K5

VBA om datums te sorteren volgens dag en maand

Aanbevolen berichten

Hier ben ik terug!

Mijn vorige vraag was om een Macro aan te maken om te printen.

Ik heb dat excel bestand dus willen overmaken aan die dame, maar ondertussen heeft zij er nog enkele kolommen bij aangemaakt.

Daarop heb ik haar uitgelegd dat er een knop was voorzien om enkel de kolom met de namen van de leden en de kolom met hun geboortemaand uit te printen.

Waarop zij fijntjes vroeg of het ook mogelijk was om bij het sorteren via de geboortemaand, iedereen te sorteren volgens "geboortemaand" maar dan ook volgens "geboortedag".

Het geboortejaar speelt niet direct een rol.

Zij stuurt namelijk naar alle leden op hun verjaardag een berichtje of een kaartje. Zo kan zij dit beter opvolgen.

Deel dit bericht


Link naar bericht
Delen op andere sites


I.p.v. 3X op OK te moeten drukken.

Private Sub Workbook_Open()
With Sheets(1)
    For i = 2 To .Range("a1").End(xlDown).Row
        If (Day(CDate(.Range("c" & i).Value)) - Day(Date) = 0) * (Month(CDate(.Range("c" & i).Value)) - Month(Date) = 0) Then
            msg = msg & .Range("b" & i).Value & vbLf & vbLf
        End If
    Next i
End With
If msg <> vbNullString Then MsgBox msg & vbLf & "is (zijn) morgen jarig.", vbInformation, "Verjaardagen."
End Sub

 

Deel dit bericht


Link naar bericht
Delen op andere sites

Had 'm om te testen op vandaag gezet en vergeten terug te zetten.

Private Sub Workbook_Open()
With Sheets(1)
    For i = 2 To .Range("a1").End(xlDown).Row
        If (Day(CDate(.Range("c" & i).Value)) - Day(Date) = 1) * (Month(CDate(.Range("c" & i).Value)) - Month(Date) = 0) Then
            msg = msg & .Range("b" & i).Value & vbLf & vbLf
        End If
    Next i
End With
If msg <> vbNullString Then MsgBox msg & vbLf & "is (zijn) morgen jarig.", vbInformation, "Verjaardagen."
End Sub

Deel dit bericht


Link naar bericht
Delen op andere sites

  • Topicstarter
  •    0
    14 uren geleden, emielDS zei:

    Volstaat dit of heb je meer uitleg nodig?

    maand en dag sorteren.xlsm

    Ik wil beslist niet moeilijk doen, maar is het eventueel mogelijk om in het oorspronkelijk Excel bestand één kolom te verwijderen?

    En alleen maar op de kolom "Geboorte Datum" te sorteren?

    De kolom "Maand" had ik erbij gezet om gemakkelijker te werken, maar ik heb de indruk dat deze dame nogal gemakkelijk uitbreid met haar kolommen om commentaar te plaatsen.

    Sorry voor deze abrupte wijziging!

    Deel dit bericht


    Link naar bericht
    Delen op andere sites
    Geplaatst: (aangepast)

    Deze sorteert op maand en dag. Je kan de dag en maandkolom zonder probleem verwijderen.

    Sub SortBirthdays()
    Application.ScreenUpdating = False
    Dim lRow As Long
    With Blad1
        lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("Z2:Z" & lRow).FormulaR1C1 = "=TEXT(RC3,""MMDD"")"
        .Range("A2:Z" & lRow).Sort .Range("Z2"), xlAscending, , , , , , xlYes
        .Range("Z2:Z" & lRow).Clear
    End With
    Application.ScreenUpdating = True
    End Sub

     

    aangepast door bakerman

    Deel dit bericht


    Link naar bericht
    Delen op andere sites
  • Topicstarter
  •    0
    Geplaatst: (aangepast)

    Ik heb het volgende als resultaat.

    Het was de bedoeling dat deze kolom per maand geselecteerd werd, maar dan ook nog eens per dag van die maand.

    Dit maakt het natuurlijk wel extra moeilijk denk ik?

     

    F-01.png

    aangepast door K5

    Deel dit bericht


    Link naar bericht
    Delen op andere sites

    Kleine aanpassing.

    Sub SortBirthdays()
    Application.ScreenUpdating = False
    Dim lRow As Long
    With Blad1
        lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("Z2:Z" & lRow).FormulaR1C1 = "=TEXT(RC3,""MMDD"")"
        .Range("A2:Z" & lRow).Sort .Range("Z2"), xlAscending, , , , , , xlNo
        .Range("Z2:Z" & lRow).Clear
    End With
    Application.ScreenUpdating = True
    End Sub

    en dan is dit het resultaat.

     

    Knipsel.PNG

    Deel dit bericht


    Link naar bericht
    Delen op andere sites
    Gast
    Dit topic is nu gesloten voor nieuwe reacties.

    Logo

    OVER ONS

    PC Helpforum helpt GRATIS computergebruikers sinds juli 2006. Ons team geeft via het forum professioneel antwoord op uw vragen en probeert uw pc problemen zo snel mogelijk op te lossen. Word lid vandaag, plaats je vraag online en het PC Helpforum-team helpt u graag verder!

    ×
    ×
    • Nieuwe aanmaken...

    Belangrijke informatie

    We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.