Hi Tom
I want the argument is a part of array.
but VBA said that is wrong language grammar.
Sub mySub(theArray() As myType)
For y = 0 to 20
theArray(y).X = 1
theArray(y).Y = 2
Next y
End Sub
Sub Main()
Dim myArray(20, 20) As myType
For x = 0 to 20
mySub myArray(x)
'I think myArray(x) should a array "myArray(20) As myType"
Next x
End Sub
"Tom Ogilvy" <twogilvy@msn.com> дÈëÓʼþ
news:ezk2wP9$EHA.2076@TK2MSFTNGP15.phx.gbl...
> Type myType
> X As Long
> Y As Long
> End Type
>
>
> Sub MySub1()
> Dim myArray(20, 20) As myType
> For i = LBound(myArray, 1) To UBound(myArray, 1)
> For j = LBound(myArray, 2) To UBound(myArray, 2)
> myArray(i, j).X = Int(Rnd() * 10000 + 1)
> myArray(i, j).Y = Int(Rnd() * 10000 + 1)
> Next
> Next
> mySub myArray
> End Sub
>
>
> Sub mySub(theArray() As myType)
> i = Int(Rnd() * 20 + 1)
> j = Int(Rnd() * 20 + 1)
> MsgBox "MyArray(" & i & "," & _
> j & ").X=" & theArray(i, j).X & _
> vbNewLine & _
> "MyArray(" & i & "," & _
> j & ").Y=" & theArray(i, j).Y
> End Sub
>
> as an example.
>
> --
> Regards,
> Tom Ogilvy
>
> "Cactus [ÏÉÈËÇò]" <a@b.com> wrote in message
> news:OY%23iFb7$EHA.3472@TK2MSFTNGP14.phx.gbl...
> > Thank Bob
> >
> > I read VBA help, to define a 2D array use
> >
> > Dim myArray(20,20) as myType
> >
> > Now I get next block.
> >
> > How send the 2D Array as Argument?
> >
> > Sub mySub(theArray() As myType)
> >
> > End Sub
> >
> >
> >
> >
> >
> > "Bob Phillips" <phillips@tiscali.co.uk> дÈëÓʼþ
> > news:Oqv7tE7$EHA.3708@TK2MSFTNGP14.phx.gbl...
> > > I think this is what you mean
> > >
> > > Dim myarray() As myType
> > >
> > > ReDim myarray(1 To 20)
> > > myarray(1).X = 1
> > > myarray(1).Y = 3
> > >
> > > Const cLen As Long = 20
> > > Dim myArray2(cLen) As myType
> > >
> > > myArray2(20).X = 1
> > > myarray(20).Y = 2
> > >
> > >
> > > --
> > > HTH
> > >
> > > Bob Phillips
> > >
> > > "Cactus [ÏÉÈËÇò]" <a@b.com> wrote in message
> > > news:%23jEO4n4$EHA.3908@TK2MSFTNGP12.phx.gbl...
> > > > I want to use a typed data of array.
> > > >
> > > > Type myType
> > > > X As Long
> > > > Y As Long
> > > > End Type
> > > >
> > > > Dim myMatrix(20)(20) As myType
> > > >
> > > > But above code is wrong.
> > > > How to that right VBA coding?
> > > >
> > > > Another question.
> > > > Can I use a Variant array such as
> > > >
> > > > dim myVar as Long = 20
> > > > Dim myMatrix(myVar) As myType
> > > >
> > > >
> > > > Thanks...
> > >
> > >
> >
>
>
Bookmarks