Dim M(1 To 5) As DoublePrivate Sub Form_Load()
    For i = 1 To 5
        M(i) = i
    Next
End Sub   Public Function Max(ByRef SZtmp) As Double
   Dim i%
     Max = 0
     For i = LBound(SZtmp) To UBound(SZtmp)
       If CDbl(SZtmp(i)) > Max Then _
         Max = CDbl(SZtmp(i))
         Me.Print Max
     Next i
   End FunctionPrivate Sub Command1_Click()
    Call Max(M)
End Sub

解决方案 »

  1.   

    Public Function Max(ByRef SZtmp()) As Double
    改为
    Public Function Max(ByRef SZtmp) As Double去掉SZtmp()的括号!
      

  2.   

    这样就行了。 
    Public Function Maxa(SZtmp() As Double) As Double
       Dim i%
       Dim max As Double
         max = 0
         For i = LBound(SZtmp) To UBound(SZtmp)
           If CDbl(SZtmp(i)) > max Then max = CDbl(SZtmp(i))
         Next i
         Maxa = max
       End Function
      

  3.   

    没有定义类型 
    as Double
      

  4.   

    1) end if
    2) 多了一个)