Problemen met bestandje

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
283
Beste lezer

Hier zijn twee problemen, nl:

1. De leeftijd van iemand wordt niet in het excelwerkblad aangegeven door twee datums van elkaar af te trekken. De ene geeft aan bijv. '9 september 2001'. Het is de bedoeling dat van Date de geboortedatum wordt afgetrokken. Ik dacht dat ik in onderstaande formule de juiste conversie had gedaan, maar helaas.
Leeftijd = Date - Format(Geboortedatum, "dd-mmmm-yyyy")
In de VBA-code heb ik een opmerking geplaatst waar het fout gaat. Vermoedelijk heeft het te maken met de datumconversie. Hoe moet deze precies luiden?


2. Bij de meerkeuze-vakken naast elkaar in het vba-scherm van ‘Geboortedatum’ blijft de laatst gekozen datum altijd staan en daardoor wordt de volgorde van Januari t/m December overhoop gehaald. Dit geldt ook voor de invoervelden Dag – Maand - Jaar, afhankelijk wat je het laatst hebt gekozen. Hiervoor heb ik in excel een extra blad gemaakt en voor Dag - Maand - Jaar elk een naam gemaakt die ik via ‘Eigenschappen’ in de ‘ RowSource’ heb geplaatst. (Blad1!Dag - Blad2!Maand - Blad2!Jaar. Ik dacht aan het einde met het leegmaken van alle velden toch aan alle voorwaarden te hebben voldaan.
Waarom gaat dit toch mis?

Het bestandje is bijgevoegd.

Groet,
Johan
 

Bijlagen

  • Rekensom_Extra gegevens.xlsm
    39,7 KB · Weergaven: 26
Laatst bewerkt:
Waarom gebruik je in kolom I niet deze formule om de geboortedatum om te zetten: =DATUMWAARDE(F2 & " " & G2 & " " & H2)?
 
Hallo OktaFish,

Alvast dank voor uw antwoord. Ik heb de formule toegevoegd in het bestand en uiteindelijk is het heel gemakkelijk middels een formule om de leeftijd te berekenen. Op zich ook een prima oplossing.
Om vba goed te leren en te gebruiken zou ik graag dergelijke berekeningen ook in vba-formules willen zien.

Groet,
Johan
 
Dat is niet zo lastig. Hier een voorbeeldje!
Code:
Function Leeftijd(vb_Date As Date) As Integer
Dim v_Age_Calc As Integer
    Leeftijd = CInt(DateDiff("yyyy", vb_Date, Date) + (Date < DateSerial(Year(Date), Month(vb_Date), Day(vb_Dte))))
End Function

Code:
Sub test()
    MsgBox Leeftijd(InputBox("typ de geboortedatum", "Leeftijd"))
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan