检查数组的所有元素是否相同

时间:2012-08-15 10:59:20

标签: arrays vba

我不是VBA的专家,但我需要找出数组中的所有元素是否相同。是否有一个函数可以用来检查所有元素是否相同?

2 个答案:

答案 0 :(得分:7)

这与KopBuH's answer基本相同,但我更喜欢这种循环/布尔赋值方法......

Function ElementsSame(arr As Variant) As Boolean
    Dim l As Long
    ElementsSame = True
    For l = 1 To UBound(arr)
        If arr(0) <> arr(l) Then
            ElementsSame = False
            Exit For
        End If
    Next l
End Function

答案 1 :(得分:3)

您可以使用此函数检查任何类型的变量的任何数组。如果此函数返回TRUE,则表示数组中的所有元素都是等于。

Function IsAllElementsTheSame(arr As Variant) As Boolean
    Dim buf As Variant
    buf = arr(0)
    Dim i As Integer
    i = 0
    Do While (buf = arr(i) And i < UBound(arr))
    i = i + 1
    Loop
    IsAllElementsTheSame = False
    If i = UBound(arr) And buf = arr(UBound(arr)) Then
        IsAllElementsTheSame = True
    End If
End Function