DDB (función)

Se aplica a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Devuelve un Doble que especifica la depreciación de un activo durante un período de tiempo específico utilizando el método de doble disminución de saldo u otro método que se especifique.

Sintaxis

DDB(coste, salvamento, vida, período* [, factor] )

La sintaxis de la función DDB consta de los siguientes argumentos:

Argumento Descripción
costo Obligatorio. Doble especificación del coste inicial del activo.
Salvamento Obligatorio. Doble especificación del valor del activo al final de su vida útil.
Vida Obligatorio. Doble especificación de la duración de la vida útil del activo.
punto Obligatorio. Doble especificación del período para el que se calcula la amortización de activos.
factor Opcional. Variante: especifica la velocidad a la que disminuye el saldo. Si se omite, se asume 2 (método de doble declinación).

    

Observaciones

El método de depreciación por doble disminución del saldo calcula la depreciación a una tasa acelerada. La depreciación es más alta durante el primer período y disminuye en períodos sucesivos.

Los argumentos de vida y período deben expresarse en las mismas unidades. Por ejemplo, si la vida se da en meses, el período también debe darse en meses. Todos los argumentos deben ser números positivos.

La función DDB usa la siguiente fórmula para calcular la amortización de un período determinado:

Depreciación / período = ((costo – salvamento) * factor) / vida útil

Ejemplo

Nota

Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.

Este ejemplo utiliza la función DDB para devolver la depreciación de un activo durante un período específico dado el costo inicial (InitCost), el valor de rescate al final de la vida útil del activo (SalvageVal), la vida útil total del activo en años (LifeTime) y el período en años para el que se calcula la depreciación (Depr).

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12    ' Number of months in a year.
Fmt = "###,##0.00"
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("Enter the asset's value at end of its life.")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YRMOS    ' Ensure period is >= 1 year.
    MsgBox "Asset life must be a year or more."
    MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YRMOS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YRMOS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("Enter year for depreciation calculation."))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = InputBox("Enter year for depreciation calculation.")
Loop
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & _
Format(Depr, Fmt) & "."