Asger Blond
ab-mi at post3.tele.dk
Sun Dec 19 18:04:13 CST 2010
Don't see why your code shouldn't work.
But BTW I don't like multidimensional arrays because you can't data type the dimensions.
When in need of an array with more than one dimension I always create a TYPE procedure to define a data type with the wanted dimensions and data types, then create a one dimensional array using that data type.
Don't know if this hurts performance compared to a multidimensional array - but it's simpler and (crucial) offers data constraint. Any objections?
Asger
-----Oprindelig meddelelse-----
Fra: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] På vegne af Ralf Lister
Sendt: 19. december 2010 21:46
Til: accessd at databaseadvisors.com
Emne: [AccessD] OT: Passing an Array in VBA
Hello,
Sorry to bother with an Excel 2007 problem.
I try to pass an three-dimensional-array Werte(I, j. k) to a Procedure,
manipulate Werte() there. Then the manipulated Werte()-Array is passed again
to the main program.
My Code:
The main program
Dim Werte(1 To 9, 1 To 42, 1 To 7) As Single
..
With Activesheet
Select Case .Range("D" & "" & i + 1 & "").Value
Case "ALICO"
PopulateALICO Werte:=Werte, i:=1
Case "ANTIGUA"
PopulateANTIGUA Werte:=Werte, i:=1
...
End Select
The called procedure
Sub PopulateALICO(ByRef Werte() As Single, i As Integer)
..
****************************************************************************
******
When I check in the main program, the array Werte() is still unmanipulated.
Saludos
Actuary Ralf Lister
La Paz, Bolivia
Registrado en ASFI
No. Registro: Act.Mat. 001
NIT: 1016725022
Skype Name: ralf.martin.lister
Tel.: 222 26 61, Cel. 70136531
rlister at actuarial-files.com
www.actuarial-files.com
Environment