ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Unable to add user-defined data types to a collection (https://www.excelbanter.com/excel-programming/303896-unable-add-user-defined-data-types-collection.html)

Adrian[_7_]

Unable to add user-defined data types to a collection
 
Hi,

I am adding a user-defined data type to a collection as illustrated below
but failed ... Can somone please help? Thanks..


'All codes here are written in a module "ErrSeeder"
'--------------------------------------
(General) (Declarations)
Type Seed
name as string
no as integer
End Type
'--------------------------------------
Sub test()

Dim c As New Collection
Dim s As Seed
s.Name = "Watermelon Seed"
s.no = 1

c..Add s <- Compliation fail at this point with the following error :
Only user-defined types defined in public object modules can be coerced to
or from a variant or passed to late-bound functions

End Sub
'--------------------------------------
May I know where can I define my user data type so that the code above will
work ? What does it mean by public object modules ?

Thanks.

Regards,
Adrian



Peter Beach

Unable to add user-defined data types to a collection
 
Hi Adrian,

You can only add objects to collections, not user defined types :-(

Create a small class object and add that to the collection and you should be
fine.

HTH

Peter Beach

"Adrian" wrote in message
...
Hi,

I am adding a user-defined data type to a collection as illustrated

below
but failed ... Can somone please help? Thanks..


'All codes here are written in a module "ErrSeeder"
'--------------------------------------
(General) (Declarations)
Type Seed
name as string
no as integer
End Type
'--------------------------------------
Sub test()

Dim c As New Collection
Dim s As Seed
s.Name = "Watermelon Seed"
s.no = 1

c..Add s <- Compliation fail at this point with the following error

:
Only user-defined types defined in public object modules can be coerced to
or from a variant or passed to late-bound functions

End Sub
'--------------------------------------
May I know where can I define my user data type so that the code above

will
work ? What does it mean by public object modules ?

Thanks.

Regards,
Adrian





Jamie Collins

Unable to add user-defined data types to a collection
 
"Peter Beach" wrote ...

You can only add objects to collections


That's not correct:

Sub test2()
Dim c As New Collection
Dim s As String
Set c = New Collection
s = "Text"
c.Add s
End Sub

Jamie.

--

Peter Beach

Unable to add user-defined data types to a collection
 
Hi James,

You are correct. You can also add simple data types to a collection. What
you can't add to a collection is a user-defined type.

Regards,

Peter Beach

"Jamie Collins" wrote in message
om...
"Peter Beach" wrote ...

You can only add objects to collections


That's not correct:

Sub test2()
Dim c As New Collection
Dim s As String
Set c = New Collection
s = "Text"
c.Add s
End Sub

Jamie.

--





All times are GMT +1. The time now is 03:51 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com