如果这个数组不是一维数组呢?
所以建议大家还是先判断一下数组的维数再去比较比较好吧?
以下是我做的判断数组维数和数组变量数量的两个函数,尽供大家参考
Public Function weishu(sz() As String) As Integer
Dim i As Integer
Dim count As Integer
On Error GoTo BoundError
For i = 1 To 61 '不会有这么多维数的数组
count = LBound(sz(), i)
Next
BoundError:
weishu = i - 1
End Function
Public Function changdu(shuzu() As String) As Integer
Dim count As Integer
Dim i As Integer
If IsArray(shuzu) And weishu(shuzu) Then
count = 1
For i = 1 To weishu(shuzu)
count = count * (UBound(shuzu, i) - LBound(shuzu) + 1)
Next i
End If
changdu = count
End Function
Function Judge(a) As Boolean
Dim i As Long
On Error Resume Next'很重要喔,不然碰到空数组就死了
Judge = False
For i = LBound(a) To UBound(a)
If a(i) <= 0 Then
Judge = False
Err.Clear
Exit Function
End If
Next
Err.Clear
Judge = True
End Function
欢迎继续讨论完善!
fuction judge (a) as boolean
for i = Lbound(a) to ubound(a)
if a(i)<=0 then
judge=false
exit function
end if
next
judge=true
end function
楼上的好像少考虑了数组的下限