Here' an example based on Ridders comment. I've been using Access for many years and must admit not only have I not used this, but didn't realize it existed.
Code:
'---------------------------------------------------------------------------------------
' Procedure : testNPV
' Author : Jack
' Date : 27-Mar-18
' Purpose : Found and tested from
' https://support.office.com/en-us/article/npv-function-96bc0897-9b6e-46e0-937f-13be698d0023
'---------------------------------------------------------------------------------------
' NOTES: showing an M$oft function for NPV (net present value)
'
Sub testNPV()
Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double ' Set up array.
10 Fmt = "###,##0.00" ' Define money format.
20 Guess = 0.1 ' Guess starts at 10 percent.
30 RetRate = 0.0625 ' Set fixed internal rate.
40 Values(0) = -70000 ' Business start-up costs.
' Positive cash flows reflecting income
' for four successive years.
50 Values(1) = 22000: Values(2) = 25000
60 Values(3) = 28000: Values(4) = 31000
' Calculate net present value.
70 NetPVal = NPV(RetRate, Values())
80 Msg = "The net present value " & _
"of these cash flows is "
90 Msg = Msg & Format(NetPVal, Fmt) & "."
'display message
100 MsgBox Msg, vbOKOnly, "Example of Net Present Value from M$oft"
End Sub