ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Help: Compile error: type mismatch: array or user defined type expected (https://www.excelbanter.com/excel-programming/344295-help-compile-error-type-mismatch-array-user-defined-type-expected.html)

lvcha.gouqizi

Help: Compile error: type mismatch: array or user defined type expected
 
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.


Jim Thomlinson[_4_]

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.




All times are GMT +1. The time now is 09:43 PM.

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