View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 6,953
Default Decrease an array?

Sub TestArrays()
Dim iDiceRoll As Variant
Dim i As Integer
Randomize
ReDim iDiceRoll(0 To 5)
For i = 0 To 5
iDiceRoll(i) = Int((6 * Rnd) + 1)
Next i
iDiceRoll = Application.Large(iDiceRoll, Array(1, 2, 3))
For i = LBound(iDiceRoll) To UBound(iDiceRoll)
Debug.Print i, iDiceRoll(i)
Next
End Sub

iDiceRoll will have a lower bound of 1 after the use of Large.

--
Regards,
Tom Ogilvy


"steve_doc" wrote:

Hi all

Is it possible to decrease an array?

EG with the following Code. If I wanted to be left with the 3 highest number
in that array. I could add them to a Collection and remove them based on a
logic comparison, as 1 option. What are the other options, and are there
better watys of doing this?

Sub TestArrays()
Dim iDiceRoll(5) As Integer
Dim i As Integer

For i = 0 To 5
iDiceRoll(i) = ((6 * Rnd) + 1)
Next i
End Sub


Thanks in advance
Steve