I have a big problem Redimming an array of objects.

I have declared a class called clsSite detailing all the info pertaining to a site.

I have declared a class called clsSiteList which as Logic should show, represents a list of sites. I am doing this with an array of clsSite objects.
eg Private mvararrSite() As clsSite 'local copy

It allows this declaration but,
1) When I go to redim with a
Preserve Redim mvararrSite(Ubound(mvararrSite))
I have trouble

2) When I go to redim with
Redim mvararrSite(1)
I have trouble

So I started thinking that it could be the problem that I am adding new classes rather than objects, thus I made the following change to the delclaration.
eg Private mvararrSite() As New clsSite 'local copy

Again it allows the declaration but dies with a redim.


Help please, this is really getting to me.