Devolve um valor Duplo que especifica a depreciação de um ativo para um período de tempo específico utilizando o método de amortização degressiva de base dupla ou qualquer outro método especificado.
Sintaxe
BDD(custo; val_residual; vida_útil; período* [, fator] )
A sintaxe da função BDD tem os seguintes argumentos:
| Argumento | Descrição |
|---|---|
| custo | Obrigatório. Especificação dupla do custo inicial do ativo. |
| salvamento | Obrigatório. Especificação dupla do valor do ativo no final da sua vida útil. |
| Vida | Obrigatório. Especificação dupla da duração da vida útil do ativo. |
| ponto final | Obrigatório. Especificação dupla do período para o qual a depreciação do ativo é calculada. |
| fator | Opcional. Variante especificando a taxa na qual o saldo diminui. Se omitido, assume-se 2 (método de declinação dupla). |
Observações
O método de amortização degressiva de base dupla calcula a depreciação numa taxa acelerada. A depreciação é mais elevada no primeiro período e diminui em períodos sucessivos.
Os argumentos de vida e 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 têm de ser números positivos.
A função BDD utiliza a seguinte fórmula para calcular a depreciação para um determinado período:
Depreciação / período = ((custo – val_residual) * fator) / vida útil
Exemplo
Nota
Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.
Este exemplo utiliza a função BDD para devolver a depreciação de um ativo para um período especificado, tendo em conta o custo inicial (InitCost), o valor residual no final da vida útil do ativo (SalvageVal), a vida 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) & "."