Поделиться через


Функция 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 (метод двойного уменьшения остатка).

Исключения

Тип исключения

Номер ошибки

Условия

ArgumentException

5

Значение параметра 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)

См. также

Ссылки

Функция SLN

Функция SYD

Сводка по финансовым функциям

ArgumentException