Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types

This error has the following cause and solution:

  • You attempted to use a public user defined type as a parameter or return type for a public procedure of a class module, or as a field of a public user defined type. Only public user defined types that are defined in a public object module can be used in this manner.

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.