语 法:
SYD (成本、残值_、生命周期__、)_
SYD 函数包含以下 命名参数:
Part 说明
cost 必需。 用于指定资产的原始成本的 Double。
salvage 必需。 用于指定资产在其使用年限结束时的价值的 Double。
life 必需。 用于指定资产的使用年限的长度的 Double。
period 必需。 用于指定计算资产折旧的期间的 Double。
备 注:
life 和 period 参数必须使用相同的单位表示。 例如,如果以月份表示 life,则也必须以月份表示 period。 所有参数都必须是正数。
示 例:
此示例使用 SYD 函数返回指定周期内的资产折旧值(给定资产的初始成本 (InitCost) 、资产使用期结束时的残值 (SalvageVal) 以及资产的总使用时间(以 (LifeTime) 年表示)。 计算折旧的期间(以年表示)为 PDepr。
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12 ' 一年中的月数.
Fmt = "###,##0.00" ' 定义货币格式.
InitCost = InputBox("资产的初始成本是多少?")
SalvageVal = InputBox("资产在其生命结束时的价值是多少?")
MonthLife = InputBox("资产的使用寿命是多少个月?")
Do While MonthLife < YEARMONTHS ' 确保期间是 >= 1 year.
MsgBox "资产寿命必须为一年或更长."
MonthLife = InputBox("资产的使用寿命是多少个月")
Loop
LifeTime = MonthLife / YEARMONTHS ' 将月转换为年.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
LifeTime = Int(LifeTime + 1) ' 四舍五入到最近的年份.
End If
DepYear = CInt(InputBox("您希望在哪一年折旧?"))
Do While DepYear < 1 or DepYear > LifeTime
MsgBox "您必须输入不超过1 " & LifeTime
DepYear = CInt(InputBox("您希望在哪一年折旧?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "折旧年限 " & DepYear & " is " & Format(PDepr, Fmt) & "."