The VBA MIRR function calculates the Modified Internal Rate of Return for a supplied series of periodic cash flows (i.e. a series of payments and returns).
The syntax of the function is:
Where the function arguments are:
ValueArray    An array of cash flows, representing a series of payments and income, where:

FinanceRate    The interest rate paid on the money used in the cash flows. 
ReinvestRate    The interest rate received on the reinvested cash flows. 
In the following example, the VBA MIRR function is used to calculate the modified internal rate of return for an initial investment of $100, that generates a series of cash returns over 5 years. The finance rate is 5.5% and the reinvestment rate is 5.0%
' Calculate the modified internal rate of return of an initial investment ' of $100, that generates a series of cash returns over 5 years. Dim cashFlows(0 to 5) As Double Dim mirrVal As Double cashFlows(0) = 100 ' Initial investment of $100 mirrVal = MIRR( cashFlows, 0.055, 0.05 )cashFlows(1) = 18.0 ' Return from year 1 cashFlows(2) = 22.5 ' Return from year 2 cashFlows(3) = 28.0 ' Return from year 3 cashFlows(4) = 35.5 ' Return from year 4 cashFlows(5) = 45.0 ' Return from year 5 ' mirrVal is calculated to be 0.1000268752662. 
The above VBA code calculates the modified internal rate of return for the investment to be 0.1000268752662 (10.0%).
Note that:
If the ValueArray that is supplied to the VBA MIRR function does not contain at least one negative value and at least one positive value, you will get the following error: