¿Cómo usar la función NPV en VBA?

En VBA (Visual Basic for Applications), la función NPV (Net Present Value o Valor Presente Neto) se utiliza para calcular el valor presente neto de una serie de flujos de efectivo que se producen en varios períodos. La función NPV considera tanto los ingresos como los egresos de efectivo y es útil para evaluar la rentabilidad de proyectos de inversión.

Ejemplo de cómo usar la función NPV en VBA

VBA

Sub CalcularNPV()
    ' Tasa de descuento
    Dim tasaDescuento As Double
    tasaDescuento = 0.1 ' 10%
    
    ' Flujos de efectivo (positivos para ingresos, negativos para egresos)
    Dim flujosEfectivo() As Variant
    flujosEfectivo = Array(-10000, 3000, 4200, 6800) ' Ejemplo de inversión inicial y flujos de los siguientes períodos
    
    ' Calcular el Valor Presente Neto
    Dim npv As Double
    npv = Application.WorksheetFunction.NPV(tasaDescuento, flujosEfectivo)

    ' Añadir la inversión inicial al resultado obtenido
    npv = npv + flujosEfectivo(0)

    ' Mostrar el resultado
    MsgBox "El Valor Presente Neto (NPV) es: " & npv
End Sub

En el ejemplo anterior, se crea una macro llamada CalcularNPV la cual define una tasa de descuento del 10% y un array de flujos de efectivo. La función Application.WorksheetFunction.NPV se utiliza para calcular el valor presente neto basado en la tasa de descuento y el array que contiene los flujos de efectivo. Importante notar que el valor inicial de la inversión (primer elemento del array) no se debería incluir en la función NPV y será restado manualmente después, ya que la función NPV asume que todos los flujos están en futuros periodos.

Es fundamental tener en cuenta que la función NPV en VBA toma los flujos de dinero después del primer período, el cual se excluye ya que se considera al tiempo cero. Por lo tanto, el primer flujo de efectivo (el desembolso inicial en la inversión), debe restarse después de calcular el NPV con los flujos futuros.

Finalmente, la variable npv contiene el valor presente neto, y luego se muestra este resultado al usuario mediante un cuadro de mensaje (MsgBox).

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario