Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 130
Default Why the.. does this not work???

Well, in the working case you are simply redimensioning myArr once to 6
or 7 "rows" and 1 "column"--what's the "Preserve about? The array has
not been loaded, so there's nothing to preserve.

In the non working case, it should work in the first loop to dimension
the array to 1 "row" and 1 "column"; but in the next loop (with i=1) the
code is attempting to change the bound of the first dimension; the bound
of only the last dimension can be changed with the Preserve keyword in
effect.

Alan Beban

Stefan Lewold wrote:
'Why is it that the rutine below works when MyArr is ReDimensioned outside
the loop and not within 'the loop as in the Sub 'DoesNotWork()' ?

Dim MyArr() As Variant
Dim Nms As Variant

Sub Working()
Nms = Array("Joe", "John", "Mary", "Fred", "Stu", "Dan", "Steeffe")
ReDim Preserve MyArr(UBound(Nms), 1) As Variant
For i = 0 To UBound(Nms)
MyArr(i, 0) = CStr(i)
MyArr(i, 1) = Nms(i)
Next i
End Sub

Sub DoesNotWork()
Nms = Array("Joe", "John", "Mary", "Fred", "Stu", "Dan", "Steeffe")
For i = 0 To UBound(Nms)
ReDim Preserve MyArr(i, 1) As Variant
MyArr(i, 0) = CStr(i)
MyArr(i, 1) = Nms(i)
Next i
End Sub



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 90
Default Why the.. does this not work???

Good catch Alan. He could just flip the array indices - and it appears
that he is obviously already option base 0.

On Wed, 27 Aug 2003 23:56:40 -0700, Alan Beban
wrote:

Well, in the working case you are simply redimensioning myArr once to 6
or 7 "rows" and 1 "column"--what's the "Preserve about? The array has
not been loaded, so there's nothing to preserve.

In the non working case, it should work in the first loop to dimension
the array to 1 "row" and 1 "column"; but in the next loop (with i=1) the
code is attempting to change the bound of the first dimension; the bound
of only the last dimension can be changed with the Preserve keyword in
effect.

Alan Beban

Stefan Lewold wrote:
'Why is it that the rutine below works when MyArr is ReDimensioned outside
the loop and not within 'the loop as in the Sub 'DoesNotWork()' ?

Dim MyArr() As Variant
Dim Nms As Variant

Sub Working()
Nms = Array("Joe", "John", "Mary", "Fred", "Stu", "Dan", "Steeffe")
ReDim Preserve MyArr(UBound(Nms), 1) As Variant
For i = 0 To UBound(Nms)
MyArr(i, 0) = CStr(i)
MyArr(i, 1) = Nms(i)
Next i
End Sub

Sub DoesNotWork()
Nms = Array("Joe", "John", "Mary", "Fred", "Stu", "Dan", "Steeffe")
For i = 0 To UBound(Nms)
ReDim Preserve MyArr(i, 1) As Variant
MyArr(i, 0) = CStr(i)
MyArr(i, 1) = Nms(i)
Next i
End Sub



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro to update a column in a work based on another work sheet WickerMan New Users to Excel 1 December 4th 09 12:58 PM
how can i automatically generate work order numbers from work orde rob h Excel Discussion (Misc queries) 1 July 13th 09 07:59 PM
flash object dont work in my excel work sheet Nitn Excel Discussion (Misc queries) 0 July 4th 09 08:00 AM
Counting dates in multiple work sheets and work books Savage Excel Discussion (Misc queries) 0 December 19th 05 11:41 PM
Is there away to keep "auto save" from jumping to the first work sheet in the work book? Marc New Users to Excel 2 April 21st 05 01:27 AM


All times are GMT +1. The time now is 05:37 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"