私は VBA の専門家ではありませんが、配列内のすべての要素が同じかどうかを調べる必要があります。すべての要素が同じかどうかを確認するために使用できる関数はありますか?
11198 次
2 に答える
8
これは基本的にKopBuHの答えと同じですが、私はこのループ/ブール割り当ての方法を好みます...
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
于 2012-08-15T13:37:10.770 に答える
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
于 2012-08-15T12:25:18.163 に答える