littlepete
Well-known Member
- Joined
- Mar 26, 2015
- Messages
- 507
- Office Version
- 365
- Platform
- Windows
hallo allemaal
ik heb een lange formule waar een aantal verjaardagen in weergegeven worden. daarvoor gebruik ik natuurlijk datumverschil.
dat ziet er dan zo uit:
kolom q = geboortedatum ; kolom am = overlijdensdatum
(...)
&ALS(365-DATUMVERSCHIL(Q7;VANDAAG();"yd")=1;"verjaart morgen"&TEKEN(10);"")
(...)
het gedeelte van de functie datumverschil wil ik vervangen door een udf die op dezelfde wijze werkt. ik wil dit doen om letters te besparen : van datumverschil => dv
alleen lukt het me niet en krijg ik steeds een error in waarde... wat is er dan fout ? voor zover ik weet moet in de udf alles ook weer in het engels...
dit is wat ik nu probeer:
ik heb al geprobeerd de , door ; te vervangen; de interval niet vooraan maar achteraan te plaatsen...
geen enkele wijziging werkt niet, waar zit de fout ?
bedankt voor de hulp !!!
ik heb een lange formule waar een aantal verjaardagen in weergegeven worden. daarvoor gebruik ik natuurlijk datumverschil.
dat ziet er dan zo uit:
kolom q = geboortedatum ; kolom am = overlijdensdatum
(...)
&ALS(365-DATUMVERSCHIL(Q7;VANDAAG();"yd")=1;"verjaart morgen"&TEKEN(10);"")
(...)
het gedeelte van de functie datumverschil wil ik vervangen door een udf die op dezelfde wijze werkt. ik wil dit doen om letters te besparen : van datumverschil => dv
alleen lukt het me niet en krijg ik steeds een error in waarde... wat is er dan fout ? voor zover ik weet moet in de udf alles ook weer in het engels...
dit is wat ik nu probeer:
VBA Code:
Public Function dv(eerste As Range, tweede As Range, Interval As String) As Variant
Dim DiffDate As Long
Interval = LCase(Trim(Interval))
Select Case Interval
Case "yyyy" '= Year
DiffDate = DateDiff("yyyy", eerste, tweede)
Case "q" '= Quarter
DiffDate = DateDiff("q", eerste, tweede)
Case "m" '= Month
DiffDate = DateDiff("m", eerste, tweede)
Case "y" '= Day of year
DiffDate = DateDiff("y", eerste, tweede)
Case "d" '= Day
DiffDate = DateDiff("d", eerste, tweede)
Case "w" '= Weekday
DiffDate = DateDiff("w", eerste, tweede)
Case "ww" ' = Week
DiffDate = DateDiff("ww", eerste, tweede)
Case "h" '= Hour
DiffDate = DateDiff("h", eerste, tweede)
Case "n" '= Minute
DiffDate = DateDiff("n", eerste, tweede)
Case "s" '= Second
DiffDate = DateDiff("s", eerste, tweede)
Case Else
DiffDate = "Fout!"
End Select
MsgBox DiffDate
dv = DiffDate
End Function
ik heb al geprobeerd de , door ; te vervangen; de interval niet vooraan maar achteraan te plaatsen...
geen enkele wijziging werkt niet, waar zit de fout ?
bedankt voor de hulp !!!