ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Question about sorting and "key" range values (https://www.excelbanter.com/excel-programming/277926-question-about-sorting-key-range-values.html)

TBA[_2_]

Question about sorting and "key" range values
 
I have a simple sort I wish VBA to accomplish. The code looks something
like this:

Range("Database").Select
Selection.Sort Key1:=Range("???"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

Range("A1").Select

The only problem is that my Key1 range [Key1:=Range("???")] will not always
be in the same column depending on what table I'm working with. However, I
do have a variable SortColumn (an integer) that indicates what column my
sort key is in, and I also have a variable SortHeader (string) that
indicates what column header I wish to sort by. SortColumn will always be
the column number that SortHeader is in, obtained through another bit of
simple code. Can either of these variables be used in place of the ??? in
the key range? At the moment I don't have access to Excel, otherwise I'd
test this myself. Does this make any sense?

All suggestions welcome. Thanks!

-gk-




Tom Ogilvy

Question about sorting and "key" range values
 
Range("Database").Select
Selection.Sort Key1:=Cells(selection.Row,SortColumn), _
Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

assume sortcolumn is the absolute column number (J would be 10 for
instance).

--
Regards,
Tom Ogilvy


TBA wrote in message
...
I have a simple sort I wish VBA to accomplish. The code looks something
like this:

Range("Database").Select
Selection.Sort Key1:=Range("???"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

Range("A1").Select

The only problem is that my Key1 range [Key1:=Range("???")] will not

always
be in the same column depending on what table I'm working with. However,

I
do have a variable SortColumn (an integer) that indicates what column my
sort key is in, and I also have a variable SortHeader (string) that
indicates what column header I wish to sort by. SortColumn will always be
the column number that SortHeader is in, obtained through another bit of
simple code. Can either of these variables be used in place of the ??? in
the key range? At the moment I don't have access to Excel, otherwise I'd
test this myself. Does this make any sense?

All suggestions welcome. Thanks!

-gk-






Dave Peterson[_3_]

Question about sorting and "key" range values
 
SortColumn varies between 1 and 255. It's the actual column number?

key1:=cells(1,sortcolumn)

might work ok.

(excel is very forgiving, but that column better intersect with the range to get
sorted someplace.)


TBA wrote:

I have a simple sort I wish VBA to accomplish. The code looks something
like this:

Range("Database").Select
Selection.Sort Key1:=Range("???"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

Range("A1").Select

The only problem is that my Key1 range [Key1:=Range("???")] will not always
be in the same column depending on what table I'm working with. However, I
do have a variable SortColumn (an integer) that indicates what column my
sort key is in, and I also have a variable SortHeader (string) that
indicates what column header I wish to sort by. SortColumn will always be
the column number that SortHeader is in, obtained through another bit of
simple code. Can either of these variables be used in place of the ??? in
the key range? At the moment I don't have access to Excel, otherwise I'd
test this myself. Does this make any sense?

All suggestions welcome. Thanks!

-gk-


--

Dave Peterson


TBA[_2_]

Question about sorting and "key" range values
 
Both methods worked, thanks Tom and Dave!

-gk-

"Dave Peterson" wrote in message
...
SortColumn varies between 1 and 255. It's the actual column number?

key1:=cells(1,sortcolumn)

might work ok.

(excel is very forgiving, but that column better intersect with the range

to get
sorted someplace.)





All times are GMT +1. The time now is 07:16 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com