Note: Your C# code is already using a collection.Iv heard something about collections being better
Your VBA code is attempting to use a collection that may no be defined..
Is struct_XOrder defined in a class module?
Are you needing an array so that it can be passed to a web service?