This code is supposed to be better
Function XCall(S, q, r, SDiv As Range, multifly, T As Single, xRange As Range, OptQnt)
Counter1 = 0
XCall = 0
For x = 1 To xRange.Rows.Count
d1 = (Log(S / xRange.Cells(x)) + (r - q + 0.5 * SDiv.Cells(x) * SDiv.Cells(x)) * T) / (SDiv.Cells(x) * Sqr(T))
d2 = d1 - SDiv.Cells(x) * Sqr(T)
N1 = Application.NormSDist(d1)
N2 = Application.NormSDist(d2)
Counter1 = Counter1 + 1
XCall_Here = (Exp(-q * T) * S * N1 - Exp(-r * T) * xRange.Cells(x) * N2) * multifly * OptQnt(Counter1)
XCall = XCall + XCall_Here
Next
End Function