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 page is specific to the Visual Basic for Applications (VBA) Language Reference for Office 2010.

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.