Hej,
Det går ju att skriva med OM-formler om man nu orkar med det. Principen är densamma men jag valde att göra en egen formel i VBA som returnerar enligt den strukturen som du vill ha. Lättast hade varit att skicka filen, problemet är att jag inte hittar din epost. Annars kan du klistra in följande rader i en ny modul i VBA-editorn. alt+F11 så får du fram den. Alternativt skickar du ett meddelande med din epost till mig nedan så får du filen. =)
Option Explicit
'Tomas Karlsson, tomkar.tk@gmail.com
Dim år As Integer, månad As Integer
Function antalÅroMånaderMellanDatum(högstaDatum As Date, lägstaDatum As Date)
år = Year(högstaDatum) - Year(lägstaDatum)
månad = (Year(högstaDatum) - Year(lägstaDatum)) * 12 + (Month(högstaDatum) - Month(lägstaDatum))
If Month(högstaDatum) - Month(lägstaDatum) < 0 Then
år = (Year(högstaDatum) - Year(lägstaDatum)) - 1
Else
år = Year(högstaDatum) - Year(lägstaDatum)
End If
månad = månad - år * 12
If år = 0 Then
antalÅroMånaderMellanDatum = månad & " mån"
Else
antalÅroMånaderMellanDatum = år & " år " & månad & " mån"
End If
End Function
Sub functionDescription()
Dim funcName As String, funcDesc As String, funcCat As Variant
Dim argDesc(1 To 2) As String
funcName = "antalÅroMånaderMellanDatum"
funcDesc = "Beräknar antal år och månader mellan två datum"
funcCat = 11
argDesc(1) = "Ange senaste/högsta datum"
argDesc(2) = "Ange tidigaste/lägsta datum"
Application.MacroOptions Macro:=funcName, Description:=funcDesc, Category:=funcCat, argumentdescriptions:=argDesc
End Sub
Enjoy !
/ Tomas