DIA-Funktion
Gibt einen Double-Wert zurück, der für einen bestimmten Zeitraum die Ziffern für die arithmetisch-degressive Abschreibung eines Objekts angibt.
Syntax
SYD(Kosten, Bergung, Lebensdauer, Zeitraum)
Die SYD-Funktion weist folgende benannte Argumente auf:
Bestandteil | Beschreibung |
---|---|
kosten | Erforderlich. Double-Wert, der die Anlagekosten des Objekts angibt. |
Bergung | Erforderlich. Double-Wert, der den Wert des Objekts am Ende seiner Nutzungsdauer angibt. |
Leben | Erforderlich. Double-Wert, der die Länge der Nutzungsdauer angibt. |
Periode | Erforderlich. Double-Wert, der den Zeitraum angibt, für den die Abschreibung des Objekts berechnet wird. |
Hinweise
Die life- und period-Argumente müssen in denselben Einheiten ausgedrückt werden. Wenn Lebensdauer beispielsweise in Monaten angegeben ist, muss auch Zeitraum in Monaten angegeben werden. Alle Argumente müssen positive Zahlen sein.
Beispiel
In diesem Beispiel wird die Funktion "SYD " verwendet, um die Abschreibung eines Vermögenswerts für einen bestimmten Zeitraum zurückzugeben, unter Berücksichtigung der Anfänglichkosten (InitCost
), des Salvage-Werts am Ende der NutzungsdauerSalvageVal
() und der Gesamtlebensdauer der Ressource in Jahren (LifeTime
). Der Zeitraum in Jahren, für den die Abschreibung berechnet wird, ist PDepr
.
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12 ' Number of months in a year.
Fmt = "###,##0.00" ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS ' Ensure period is >= 1 year.
MsgBox "Asset life must be a year or more."
MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YEARMONTHS ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
LifeTime = Int(LifeTime + 1) ' Round up to nearest year.
End If
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
MsgBox "You must enter at least 1 but not more than " & LifeTime
DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.