Retorna um Double especificando a depreciação de um ativo por um período de tempo específico usando o método de saldo de declínio duplo ou algum outro método especificado.
Sintaxe
DDB( custo, salvamento, vida, período [, fator] )
A sintaxe da função DDB tem esses argumentos:
Argumento |
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. |
duração |
Obrigatório. Especifique duas vezes a duração ú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 = ((custo – salvamento) * fator) / vida
Exemplo
Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.
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 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) & "."