Re: Array of UDT
- From: justahelper <justahelper@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 12 Jan 2007 00:27:01 -0800
XL version - 2003 (11.5612.5606) Part of Microsoft Office Professional
Edition 2003
VBA - Micorsoft Visual Basic 6.3
The function is in a normal module.
I have written this piece of code. I also have the function for
GetReaderRecord in the same module. If I change the return value to just
reader and not reader()
and assign the return value as
GetReaderRecordsArray = u_readers(1)
the function works fine and returns the correct value. Also in break mode I
can see not all the items in the array.
Question is - why does it fail when I change the return value to an array?
"Tushar Mehta" wrote:
You still haven't answered the first question..
Also, where -- what kind of module(s), that is -- do you have all this code?
And, did you write the code or did you get it from somewhere else?
--
Regards,
Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
In article <445EC327-4FAA-4D3F-A1D4-02B3EAAE7DBE@xxxxxxxxxxxxx>,
justahelper@xxxxxxxxxxxxxxxxxxxxxxxxx says...
I changed it as suggested. It gives the error:
Only user-defined types defined in public object modules can be coerced to
or from a variant or passed to late-bound functions.
"Tushar Mehta" wrote:
What version of XL / VBA are you using?
Does the compiler highlight a particular line as the offending line?
At the very least you should change the return type of the function from
readers() to reader()
--
Regards,
Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions
In article <A5859C76-32E3-4C58-9108-7159A8E62DA7@xxxxxxxxxxxxx>,
justahelper@xxxxxxxxxxxxxxxxxxxxxxxxx says...
I have defined the following:
Type reader
r_sname As String
r_name As String
r_restel As String
r_offtel As String
r_mobile As String
End Type
and am trying to use it in the following function:
Function GetReaderRecordsArray(rngTimeCell As Range) As readers()
Dim rngCommRng As Range
Dim u_readers() As reader
Dim bCommArr() As Boolean
Dim i As Integer
Dim j As Integer
Dim c_comm As Integer
Set rngCommRng = GetCommitRng(rngTimeCell)
bCommArr = GetCommFromCommitRng(rngCommRng)
c_comm = GetYesCountFromCommRng(bCommArr)
If c_comm > 0 Then
ReDim u_readers(c_comm)
i = 0
For j = LBound(bCommArr) To UBound(bCommArr)
If bCommArr(j) Then
i = i + 1
u_readers(i) = GetReaderRecord(rngCommRng.Cells(j, 1))
Else
End If
Next j
End If
GetReaderRecordsArray = u_readers
End Function
I get a compile error msg. Can anyone help me fix this?
- References:
- Re: Array of UDT
- From: Tushar Mehta
- Re: Array of UDT
- From: justahelper
- Re: Array of UDT
- From: Tushar Mehta
- Re: Array of UDT
- Prev by Date: Re: macro to crack passwords
- Next by Date: Re: turn off pastespecial warnings
- Previous by thread: Re: Array of UDT
- Next by thread: Re: Array of UDT
- Index(es):
Relevant Pages
|