Função BDD

Retorna um Double especificando a depreciação de um ativo por um período de tempo específico usando o método de saldo em declínio duplo ou algum outro método especificado.

Sintaxe

DDB(custo, salvamento, vida, período, [ fator ])

A função DDB tem estes argumentos nomeados:

Sair Descrição
Custo Obrigatório. Especifique duas vezes o custo inicial do ativo.
Salvar Obrigatório. Especifique duas vezes o valor do ativo no final de sua vida útil.
Vida Obrigatório. Especifique duas vezes a duração da vida útil do ativo.
Período Obrigatório. Especifique duas vezes o período para o qual a depreciação do ativo é calculada.
Fator Opcional. Variante especificando a taxa na qual o saldo diminui. Se omitido, 2 (método de declínio duplo) será assumido.

Comentários

O método de saldos decrescentes duplos calcula a depreciação a uma taxa acelerada. A depreciação é mais alta no primeiro período e vai diminuindo nos períodos sucessivos.

Os argumentos de vida e de período devem ser expressos nas mesmas unidades. Por exemplo, se a vida é dada em meses, o período também deve ser dado em meses. Todos os argumentos devem ser números positivos.

A função DDB usa a seguinte fórmula para calcular a depreciação de um determinado período:

Depreciação/período = ((salvamento de custo - ) * fator) / vida útil

Exemplo

Este exemplo usa a função DDB para retornar a depreciação de um ativo por um período especificado dado o custo inicial (InitCost), o valor de salvamento no final da vida útil do ativo (SalvageVal), a vida útil total do ativo em anos (LifeTime) e o período em anos para o qual a depreciação é calculada (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) & "."

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.