Функция DDB
Обновлен: Ноябрь 2007
Возвращает значение типа Double, определяющее амортизацию актива за указанный период времени с помощью метода двойного уменьшения остатка или другого указанного метода.
Function DDB( _
ByVal Cost As Double, _
ByVal Salvage As Double, _
ByVal Life As Double, _
ByVal Period As Double, _
Optional ByVal Factor As Double = 2.0 _
) As Double
Параметры
Cost
Требуется.Double значение, указывающее начальную стоимость актива.Salvage
Требуется. Значение типа Double, задающее стоимость актива на момент окончания времени его нормальной эксплуатации.Life
Требуется. Значение типа Double, задающее время нормальной эксплуатации актива.Period
Требуется. Значение типа Double, задающее период расчета амортизации актива.Factor
Опционально. Значение типа Double, задающее коэффициент уменьшения остатка. Если значение не указано, то предполагается 2 (метод двойного уменьшения остатка).
Исключения
Тип исключения |
Номер ошибки |
Условия |
---|---|---|
Значение параметра Factor <= 0 или значение параметра Salvage< 0 или Period<= 0 или Period > Life.. |
См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.
Заметки
Согласно методу двойного уменьшения остатка амортизация вычисляется с повышенным коэффициентом уменьшения. Амортизация максимальна в первый период и уменьшается в последующие.
Значения аргументов Life и Period должны быть выражены в одних и тех же единицах. Например, если аргумент Life задается в месяцах, то аргумент Period также должен быть задан в месяцах. Все аргументы должны быть положительными числами.
Для расчета амортизации за указанный период в функции DDB используется следующая формула:
Depreciation / Period = ((Cost – Salvage) * Factor) / Life
Пример
Этот пример использует функцию DDB для возврата амортизации актива за указанный период получая начальную стоимость (InitCost), остаточную стоимость в конце эксплуатации актива (SalvageVal), полное время нормальной эксплуатации актива в годах (LifeTime), и период в годах, для которого вычисляется амортизация (Depr).
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)
Требования
Пространство имен:Microsoft.VisualBasic
**Модуль:**Financial
**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)