Financial.SLN Method (Double, Double, Double)

 

Returns a Double specifying the straight-line depreciation of an asset for a single period.

Namespace:   Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public static double SLN(
	double Cost,
	double Salvage,
	double Life
)

Parameters

Cost
Type: System.Double

Required. Double specifying initial cost of the asset.

Salvage
Type: System.Double

Required. Double specifying value of the asset at the end of its useful life.

Life
Type: System.Double

Required. Double specifying length of the useful life of the asset.

Return Value

Type: System.Double

Returns a Double specifying the straight-line depreciation of an asset for a single period.

Exception Condition
ArgumentException

Life = 0.

The depreciation period must be expressed in the same unit as the Life argument. All arguments must be positive numbers.

This example uses the SLN function to return the straight-line depreciation of an asset for a single period given the asset's initial cost (InitCost), the salvage value at the end of the asset's useful life (SalvageVal), and the total life of the asset in years (LifeTime).

Dim InitCost, SalvageVal, LifeTime, DepYear As Double
Dim Fmt As String = "###,##0.00"

InitCost = CDbl(InputBox("What's the initial cost of the asset?"))
SalvageVal = CDbl(InputBox("Enter the asset's value at end of its life."))
LifeTime = CDbl(InputBox("What's the asset's useful life in years?"))

' Use the SLN function to calculate the deprecation per year.
Dim SlnDepr As Double = SLN(InitCost, SalvageVal, LifeTime)
Dim msg As String = "The depreciation per year: " & Format(SlnDepr, Fmt)
msg &= vbCrLf & "Year" & vbTab & "Linear" & vbTab & "Doubling" & vbCrLf

' Use the SYD and DDB functions to calculate the deprecation for each year.
For DepYear = 1 To LifeTime
    msg &= DepYear & vbTab & 
        Format(SYD(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbTab & 
        Format(DDB(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbCrLf
Next
MsgBox(msg)

.NET Framework
Available since 1.1
Return to top
Show: