Compare Two Arrays
For one of my projects I needed a function to compare two arrays. The following function returns true if both array have the same elements (regardless of their position in arrays).
Function ArraysAreEqual (vA As Variant, vB As Variant) As Variant
Dim IsEqual As Variant
ArraysAreEqual = True
Forall a In vA
IsEqual = False
Forall b In vB
If a = b Then
IsEqual = True
Exit Forall
End If
End Forall
If Not IsEqual Then
ArraysAreEqual = False
Exit Function
End If
End Forall
Forall b In vB
IsEqual = False
Forall a In vA
If b = a Then
IsEqual = True
Exit Forall
End If
End Forall
If Not IsEqual Then
ArraysAreEqual = False
Exit Function
End If
End Forall
End Function
To execute your code only when both array are different simply use
If Not (ArraysAreEqual ( mBefore, mAfter )) Then
' your code goes here
' ...
End If