Freigeben über


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:

Teil Beschreibung
Kosten Erforderlich. Double-Wert, der die Anlagekosten des Objekts angibt.
Retten Erforderlich. Double-Wert, der den Wert des Objekts am Ende seiner Nutzungsdauer angibt.
Leben Erforderlich. Double-Wert, der die Länge der Nutzungsdauer angibt.
Zeitraum Erforderlich. Double-Wert, der den Zeitraum angibt, für den die Abschreibung des Objekts berechnet wird.

HinwBemerkungeneise

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 Salvagewerts am Ende der Nutzungsdauer des Vermögenswerts (SalvageVal) 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.