OptionExplicit Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length AsLong) Private Type xx intX AsInteger intY AsInteger End Type Dim zz As xx Dim a(3) AsByte PrivateSub Command1_Click() Dim i AsInteger Call CopyMemory(a(0), zz, 4) For i =0To3 Debug.Print a(i) Next '//initial data zz.intX =0 zz.intY =0 Call CopyMemory(zz, a(0), 4) Debug.Print zz.intX Debug.Print zz.intY End Sub PrivateSub Form_Load() zz.intX =600 zz.intY =800 End Sub