View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson[_4_] Jim Thomlinson[_4_] is offline
external usenet poster
 
Posts: 1,119
Default Help: Compile error: type mismatch: array or user defined type exp

First things first. Get rid of the brackets for the Called sub. They will
mess things up. You can either have

Call Called(student())
or
Called Sutdent()

Secondly you need to define the array sizes. Either explicitly when they are
created or through a redim

Public Type testArray
age(5) As Integer
End Type


Sub calling()
Dim student(10) As testArray

called student()
End Sub

Sub called(ByRef temparray() As testArray)
temparray(1).age(1) = 20
End Sub
--
HTH...

Jim Thomlinson


"lvcha.gouqizi" wrote:

Hi there,

I defined a type named testArray and student() as an array of testArray
type. The compiler always reports "array or user defined type expected"
compile error no matter how I give the array parameter to the function.

Public Type testArray
age() As Integer
End Type


Sub calling()
Dim student() As testArray
called (student)
End Sub

Sub called(ByRef temparray() As testArray)
temparray(1).age(1) = 20
End Sub

What's wrong with called(student)?

I also tried called(student()). It doesn't work either.