Here come the overkill solution: 
A little UDF does the job:
Public Function RandArg(c As Range, Optional ArgType As Integer)
Dim lLow As Long, lHigh As Long
On Error GoTo FuncErr
If InStr(1, c.Formula, "RANDBETWEEN") = 0 Then
RandArg = CVErr(xlErrName)
Else
lLow = Left(Split(c.Formula, "(")(1), InStr(1, Split(c.Formula, "(")(1), ",") - 1)
lHigh = Left(Split(c.Formula, ",")(1), InStr(1, Split(c.Formula, ",")(1), ")") - 1)
Select Case ArgType
Case 1: RandArg = lLow
Case 2: RandArg = lHigh
Case Else: RandArg = "(" & lLow & "," & lHigh & ")"
End Select
End If
Exit Function
FuncErr:
RandArg = CVErr(xlErrValue)
End Function
Useage
With the following formula in cell A1:
Formula:
=RANDBETWEEN(-10,10)
|
B |
C |
1 |
Formula |
Result |
2 |
=randarg(A1,1) |
-10 |
3 |
=randarg(A1,2) |
10 |
4 |
=randarg(A1) |
(-10,10) |
Bookmarks