Compartilhar via


Função SDA

Devolve um Valor Duplo especificando a depreciação dos dígitos da soma dos anos de um ativo durante um período especificado.

Sintaxe

SYD(custo, residual, vida útil, período)

A função SYD tem estes argumentos nomeados:

Sair Descrição
custo Obrigatório. Duplo a especificar o custo inicial do recurso.
salvage Obrigatório. O dobro da especificação do valor do ativo no final da sua vida útil.
vida útil Obrigatório. O dobro da duração útil do ativo.
ponto final Obrigatório. Período de especificação duplo para o qual a depreciação do ativo é calculada.

Comentários

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

Exemplo

Este exemplo utiliza a função SYD para devolver a depreciação de um ativo durante um período especificado, dado o custo inicial do ativo (InitCost), o valor residual no final da vida útil do ativo (SalvageVal) e a vida útil total do ativo em anos (LifeTime). O período em que a depreciação é calculada é PDepr.

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12    ' Number of months in a year.
Fmt = "###,##0.00"    ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS    ' 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 / YEARMONTHS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, 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.