A função NPV (Valor Presente Líquido) em VBA é utilizada para calcular o valor presente líquido de uma série de fluxos de caixa futuros. A sintaxe da função NPV em VBA é similar à utilizada no Excel. No entanto, ao utilizar o VBA, você precisa definir explicitamente a taxa de desconto e a matriz de valores de fluxo de caixa.
Aqui está um exemplo de como usar a função NPV em VBA:
Sub CalcularNPV()
' Declaração de variáveis
Dim taxaDesconto As Double
Dim fluxosDeCaixa() As Double
Dim resultadoNPV As Double
' Definindo a taxa de desconto
taxaDesconto = 0.1 ' por exemplo, 10%
' Definindo os fluxos de caixa
' O primeiro argumento (taxa de desconto) não está incluído na função WorksheetFunction.NPV
fluxosDeCaixa = Array(1000, 1500, 2000, 2500, 3000)
' Calculando o NPV
resultadoNPV = WorksheetFunction.NPV(taxaDesconto, fluxosDeCaixa)
' Exibindo o resultado
MsgBox "O Valor Presente Líquido é: " & Format(resultadoNPV, "Currency")
End Sub
Neste exemplo:
- `taxaDesconto` é a taxa de desconto que você pretende aplicar aos fluxos de caixa futuros.
- `fluxosDeCaixa` é uma matriz que contém os valores dos fluxos de caixa futuros.
- Em `WorksheetFunction.NPV(taxaDesconto, fluxosDeCaixa)`, a função NPV é chamada a partir do objeto `WorksheetFunction`, que permite acessar funções do Excel no VBA.
- O resultado do NPV é armazenado em `resultadoNPV` e exibido com um `MsgBox`.
Lembre-se de fazer referência correta aos intervalos e ajustar o código conforme necessário para o seu caso específico, como obter fluxos de caixa de planilhas ou ajustar a taxa de desconto.