rediming dynamic 2 dimensional array of user defined type

A

Arnold Klapheck

I defined a dynamic array as a programmer defined type that contains a
dynamic array of type Date as below:

Public Type Material
MatNum As Integer
MatDate() As Date
End Type

Public matType() As Material

when I go to redim them as such:

' no problem here
ReDim matType(1 To MaxMaterials)
' error invalid qualifier "matType." if I leave it out, does not create
an array
ReDim matType.MatDate(1 To MaxArraySize)

any ideas how to redim the MatDate?
 
D

Dave Peterson

Maybe you want something like:

Option Explicit
Public Type Material
MatNum As Integer
MatDate() As Date
End Type
Public matType() As Material
Sub testme()
Dim MaxMaterials As Long
Dim MaxArraySize As Long
Dim ictr As Long
MaxMaterials = 3
MaxArraySize = 4
' no problem here
ReDim matType(1 To MaxMaterials)

For ictr = 1 To MaxMaterials
ReDim matType(ictr).MatDate(1 To MaxArraySize)
Next ictr
End Sub

if each mattype has the same number of .matdates.
 
T

Tom Ogilvy

Public Type Material
MatNum As Integer
MatDate() As Date
End Type

Public matType() As Material

Const MaxMaterials As Long = 12
Sub ABCEFG()
ReDim matType(1 To MaxMaterials)
For i = 1 To MaxMaterials
ReDim matType(i).MatDate(1 To 10)
Next

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top