求解决VB定义函数问题
Option Explicit
Dim i As Single
Function max(ParamArray a()) As Single
max = a(LBound(a))
For i = LBound(a) To UBound(a)
If max < a(i) Then
max = a(i)
Else: max = max
End If
Next i
Print max
End Function
Function min(ParamArray a())
min = a(LBound(a))
For i = a(LBound(a)) To UBound(a)
If min > a(i) Then
min = a(i)
Else: min = min
End If
Next i
Print min
End Function
Private Sub Command1_Click()
Dim a(5) As Single
Dim b As Single, c As Single
a(0) = Val(InputBox("输入数据"))
a(1) = Val(InputBox("输入数据"))
a(2) = Val(InputBox("输入数据"))
a(3) = Val(InputBox("输入数据"))
a(4) = Val(InputBox("输入数据"))
a(5) = Val(InputBox("输入数据"))
max a()
min a()
End Sub
为什么运行显示数据类型错误
[解决办法]
Dim i As Single
Function max(a() As Single) As Single '改这
max = a(LBound(a))
For i = LBound(a) To UBound(a)
If max < a(i) Then
max = a(i)
Else: max = max
End If
Next i
Print max
End Function
Function min(a() As Single) As Single '改这
min = a(LBound(a))
For i = a(LBound(a)) To UBound(a)
If min > a(i) Then
min = a(i)
Else: min = min
End If
Next i
Print min
End Function
Private Sub Command1_Click()
Dim a(5) As Single
Dim b As Single, c As Single
a(0) = Val(InputBox("输入数据"))
a(1) = Val(InputBox("输入数据"))
a(2) = Val(InputBox("输入数据"))
a(3) = Val(InputBox("输入数据"))
a(4) = Val(InputBox("输入数据"))
a(5) = Val(InputBox("输入数据"))
max a()
min a()
End Sub