Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,069
Default Reverse Values in an Array

I have a one-dimensional array containing values that load a listbox. I
would like to reverse the order of the values as they appear in the listbox.
The array is called UniqueValues and I'm loading the listbox via the
following:

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item
Next Item

Is there a way to reverse the values without dropping the values into a
worksheet, resorting, and reloading? I've referenced Chip Pearson's site and
he shows the
"ReverseArrayInPlace" procedure but I'm not understanding how it works.

http://www.cpearson.com/excel/VBAArrays.htm

Thanks for your help.

--
John



  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 163
Default Reverse Values in an Array

Hi John,

this one fills an array(1 to 50) with random numbers
in the range from 1 to 50 and puts them in listbox1,
as they were created.
it puts them in another listbox2 in reverse order.

Private Sub CommandButton1_Click()
Dim x(1 To 50) As Long
Dim y
Randomize
For y = 1 To 50
x(y) = Int((50 * Rnd) + 1)
Me.ListBox1.AddItem x(y)
Next
For y = 50 To 1 Step -1
Me.ListBox2.AddItem x(y)
Next
End Sub

HTH

--
Greetings from Bavaria, Germany

Helmut Weber, MVP WordVBA

Win XP, Office 2003
"red.sys" & Chr$(64) & "t-online.de"
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,510
Default Reverse Values in an Array

Hi John,

Try this.

For i = UBound(UniqueValues) To 0 Step -1
frmTrace.ListBox1.AddItem UniqueValues(i)
Next i

or this:

For i = UBound(UniqueValues) To LBound(UniqueValues) Step -1
frmTrace.ListBox1.AddItem UniqueValues(i)
Next i

The second one doesn't matter whether UniqueValues(0) or UniqueValues(1) is
the lowest.


Regards,

OssieMac
"John" wrote:

I have a one-dimensional array containing values that load a listbox. I
would like to reverse the order of the values as they appear in the listbox.
The array is called UniqueValues and I'm loading the listbox via the
following:

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item
Next Item

Is there a way to reverse the values without dropping the values into a
worksheet, resorting, and reloading? I've referenced Chip Pearson's site and
he shows the
"ReverseArrayInPlace" procedure but I'm not understanding how it works.

http://www.cpearson.com/excel/VBAArrays.htm

Thanks for your help.

--
John



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,202
Default Reverse Values in an Array

I have a one-dimensional array containing values that load a listbox. I
would like to reverse the order of the values as they appear in the
listbox.
The array is called UniqueValues and I'm loading the listbox via the
following:

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item
Next Item

Is there a way to reverse the values without dropping the values into a
worksheet, resorting, and reloading?


Use the same code you have, but add the optional argument to the AddItem
method...

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item, 0
Next Item

Rick

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 235
Default Reverse Values in an Array

Thanks Helmut, OssieMac, and Rick for your time and help - all examples
worked perfectly.

--
John






"Rick Rothstein (MVP - VB)" wrote:

I have a one-dimensional array containing values that load a listbox. I
would like to reverse the order of the values as they appear in the
listbox.
The array is called UniqueValues and I'm loading the listbox via the
following:

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item
Next Item

Is there a way to reverse the values without dropping the values into a
worksheet, resorting, and reloading?


Use the same code you have, but add the optional argument to the AddItem
method...

For Each Item In UniqueValues
frmTrace.ListBox1.AddItem Item, 0
Next Item

Rick




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
Reverse a function to return the array? bc4240 Excel Worksheet Functions 4 July 31st 09 05:25 AM
search an array in reverse (bottom to top) order Trainer_00 Excel Discussion (Misc queries) 5 December 20th 07 10:35 PM
How to reverse data in an Array Kevin O'Neill[_2_] Excel Programming 3 January 4th 06 06:39 PM
Reverse numerical values [email protected] Excel Worksheet Functions 4 November 10th 05 04:47 PM
how to reverse a range/array? peter dmz Excel Worksheet Functions 5 August 11th 05 09:11 PM


All times are GMT +1. The time now is 12:25 PM.

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

About Us

"It's about Microsoft Excel"