Function CallBy(ParamArray i())
Dim j%, s$: j = Ubound(i)
s = "'" & ThisWorkbook.Name & "'!"
Select case j
Case 1: Application.Run s & i(0), i(1)
Case 2: Application.Run s & i(0), i(1), i(2)
Case 3: Application.Run s & i(0), i(1), i(2), i(3)
Case 4: Application.Run s & i(0), i(1), i(2), i(3), i(4)
Case 5: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6)
Case 6: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7)
Case 7: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6)
Case 8: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7)
Case 9: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7), i(8)
Case 10: Application.Run s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7), i(8), i(9)
Case else: Application.Run s & i(0)
End select
End Function
Function ReturnBy(ParamArray i())
Dim j%, s$, v: j = Ubound(i)
s = "'" & ThisWorkbook.Name & "'!"
Select case j
Case 1: v = Application.Run (s & i(0), i(1))
Case 2: v = Application.Run (s & i(0), i(1), i(2))
Case 3: v = Application.Run (s & i(0), i(1), i(2), i(3))
Case 4: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4))
Case 5: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6))
Case 6: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7))
Case 7: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6))
Case 8: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7))
Case 9: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7), i(8))
Case 10: v = Application.Run (s & i(0), i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(6), i(7), i(8), i(9))
Case else: v = Application.Run( s & i(0))
End select
ReturnBy = v
End Function