I don't think you'll find this kind of code anywhere. I thank CVMichael for hooking me up with a basis to it, till I came up with my own variations. The Is_Array_Equals function works instantaniously, even if there are a million elements in the arrays. No For loop needed. And testing to see if the values of one User Defined Type equals another can come in handy too. Same holds true to testing to see if a User Defined Type is null. Here's the code. Enjoy

VB Code:
  1. Option Explicit
  2.  
  3. Public Type Test_Type
  4.    
  5.     Value1 As Long
  6.     Value2 As Single
  7.     Some_Array(10) As Long
  8.  
  9. End Type
  10.  
  11. Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal pDest As String, pSrc As Any, ByVal ByteLen As Long)
  12.  
  13. Public Function Is_Array_Equal(A() As Long, B() As Long) As Boolean
  14.  
  15.     Dim StrA As String, StrB As String
  16.    
  17.     StrA = String(Len(A(0)) * UBound(A), 0)
  18.     CopyMemory StrA, A(0), Len(A(0)) * UBound(A)
  19.    
  20.     StrB = String(Len(A(0)) * UBound(A), 0)
  21.     CopyMemory StrB, B(0), Len(A(0)) * UBound(A)
  22.    
  23.     Is_Array_Equal = StrA = StrB
  24.    
  25. End Function
  26.  
  27. Public Function Is_UDT_Equal(A As Test_Type, B As Test_Type) As Boolean
  28.  
  29.     Dim StrA As String, StrB As String
  30.    
  31.     StrA = String(Len(A), 0)
  32.     CopyMemory StrA, A, Len(A)
  33.    
  34.     StrB = String(Len(A), 0)
  35.     CopyMemory StrB, B, Len(A)
  36.    
  37.     Is_UDT_Equal = StrA = StrB
  38.    
  39. End Function
  40.  
  41. Public Function Is_UDT_Null(UDT As Test_Type) As Boolean
  42.  
  43.     Dim String_A As String, String_B As String
  44.    
  45.     Dim Null_UDT As Test_Type
  46.    
  47.     String_A = String(Len(Null_UDT), 0)
  48.     CopyMemory String_A, Null_UDT, Len(Null_UDT)
  49.    
  50.     String_B = String(Len(Null_UDT), 0)
  51.     CopyMemory String_B, UDT, Len(Null_UDT)
  52.    
  53.     Is_UDT_Null = String_A = String_B
  54.  
  55. End Function

It might be possible to update this by using pointers to a user defined type and testing that to work with any user defined type rather than manually having to create these functions to work with specific types. If anyone can do that, since I failed when I tried, I would appreciate it.