View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Sort an array to use in a listbox on a userform in Excel 2007

I think the confusing is over the term "Column". I sometimes refer to an
array consisting of rows and columns. You were refering to the data as
columns.

You can make your array wider and add the base filename into another column
in your array.

Description Full Path Name Base filename


Use my code from the last posting to extract the Base filename from the Full
path. You would need to modify the sort code to swap 3 indexes in stead of
the two presently being swapped

Present : <= indicates swap during the sort
sfiles(i, 0) <= sfiles(j, 0) <=Desription
sfiles(i, 1) <= sfiles(j, 1) <= Full Path Name


change
sfiles(i, 0) <= sfiles(j, 0) <= Description
sfiles(i, 1) <= sfiles(j, 1) <= Full Path Name
sfiles(i, 2) <= sfiles(j, 2) <= Base Filename

You could actually put all the data in the Listbox and just hide the unused
columns instead of using a seperate array.

"Renate" wrote:

Hi Joel,

I don't understand you last question. Why don't you always sort on the last
column?



Maybe I didn't explain it well enough. The real listbox get's filled
with all filenames in a specific folder. Each filename has a code
before it, it's a two letter and four digit code.
This code is followed by a description.
By default the listbox showes the names including the codes.
I want to add a checkbox on my form, that when the user selects it,
shows only the description in the listbox and sorts it ascending.

For example:
listbox sorted ascending with full filename
ab 1234 Description B
ab 6889 Description F
ab 8990 Description A

If I want only to show the descriptions and sort accordingly, it would
be:
Description A
Description B
Description F

The array contains the full filename in the first column and the
description in the second. I use that to fill the listbox.
Does this make more sense?