If so how?/What am I doing wrong?

VB Code:
  1. Private Sub FindOrderedVia(ByVal vintValue, ByVal vintUpper As Integer, ByRef ropt() As OptionButton)
  2.  
  3. On Error GoTo Error_FindOrderedVia
  4.  
  5. Dim intLoop As Integer
  6.  
  7.     gerrError.PushErrorStack "FindOrderedVia", Me.Name
  8.  
  9.     For intLoop = 0 To vintUpper
  10.         If intLoop = vintValue Then
  11.             ropt(intLoop) = True
  12.         Else
  13.             ropt(intLoop) = False
  14.         End If
  15.     Next intLoop
  16.    
  17.  
  18. Exit_FindOrderedVia:
  19.     gerrError.PopErrorStack
  20.     Exit Sub
  21.  
  22. Error_FindOrderedVia:
  23.     gerrError.ErrorHandler "FindOrderedVia", Me.Name, Err.Number, Err.Description
  24.     Resume Exit_FindOrderedVia
  25.  
  26. End Sub

I get a mismatch error when I use the following to call . . .

VB Code:
  1. Call FindOrderedVia(.Fields("PurOHOrderedVia"), UBound(optordered), optordered)