**Public Function VariableDecliningBalanceDepreciation( _
ByVal vCost As Variant _
, ByVal vSalvage As Variant _
, ByVal vLife As Variant _
, ByVal vStartPeriod As Variant _
, ByVal vEndPeriod As Variant _
, Optional ByVal vFactor As Variant _
, Optional ByVal vNoSwitch As Variant _
) As Variant**

**Calculate the declining balance depreciation (or depreciation using a similar method) for a specific part of an asset's life. **

**Example:** What is the double-declining balance depreciation in the second and third years of an asset that costs $2,000, has a useful life of 5 years, and has a value of $200 at the end of those five years? $460.80. VariableDecliningBalanceDepreciation(2000, 200, 5, 2, 4) = 460.8

See the VariableDecliningBalanceDepreciationVerify Subroutine for more examples of this Function.

**See also:** DoubleDecliningBalanceDepreciation Function
DecliningBalanceDepreciation Function
StraightLineDepreciation Function
SumOfYearsDigitsDepreciation Function
VDB Function (Microsoft Excel)

**vCost:** Initial cost of the asset. Function returns Null if vCost is Null, less than zero (<0), or cannot be interpreted as a number.

**vSalvage:** Value of the asset at the end of its useful life. Function returns Null if vSalvage is Null, less than zero (<0), or cannot be interpreted as a number.

**vLife:** Length of the asset's useful life. Function returns Null if vLife is Null, less than zero (<0), or cannot be interpreted as a number.

**vStartPeriod:** Starting (first) period from which the depreciation is calculated. Function returns Null if vPeriod is Null, less than zero (<0), greater than vEndPeriod, or cannot be interpreted as a number.

**vEndPeriod:** Ending (last) period to which the depreciation is calculated. Function returns Null if vPeriod is Null, less than zero (<0), greater than vLife, or cannot be interpreted as a number.

**vFactor:** Optional rate at which the balance declines. vFactor defaults to 2 (meaning double-declining balance) if it is missing or Null or cannot be interpreted as a number. Function returns Null if vFactor is less than zero (<0).

**vNoSwitch:** Optional flag describing if the function should switch to straight-line depreciation when straight-line depreciation is greater than declining balance depreciation. False if the function should switch when appropriate, or True if the function should always use declining balance depreciation. vNoSwitch defaults to False if it is missing or Null or cannot be interpreted as a logical value.

**Corresponding Units:** The vLife, vStartPeriod, and vEndPeriod arguments must all be expressed in corresponding units. If the useful life (vLife) is expressed in months, then vStartPeriod and vEndPeriod must also be expressed in months.

**v2.0 Addition:** This function is new to this version of Entisoft Tools. Copyright 1996-1999 Entisoft

Entisoft Tools is a trademark of Entisoft.