ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   toggle sort columns (https://www.excelbanter.com/excel-discussion-misc-queries/212763-toggle-sort-columns.html)

JSnow

toggle sort columns
 
I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike H

toggle sort columns
 
Hi,

This test g3 and G4 to see which way they are sorted and then does the cort
in the opposite direction.

Sub sort_date()
If Left(Range("G3"), 1) Left(Range("G4"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A3:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


Lars-Åke Aspelin[_2_]

toggle sort columns
 
If G3 and G4 are equal this macro will not work.
Better to compare G3 to G23, I think.

/ Lars-Åke

On Sun, 7 Dec 2008 07:36:01 -0800, Mike H
wrote:

Hi,

This test g3 and G4 to see which way they are sorted and then does the cort
in the opposite direction.

Sub sort_date()
If Left(Range("G3"), 1) Left(Range("G4"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A3:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub



Mike H

toggle sort columns
 
Ah,

I never thought of that, good idea.

Mike

"Lars-Ã…ke Aspelin" wrote:

If G3 and G4 are equal this macro will not work.
Better to compare G3 to G23, I think.

/ Lars-Ã…ke

On Sun, 7 Dec 2008 07:36:01 -0800, Mike H
wrote:

Hi,

This test g3 and G4 to see which way they are sorted and then does the cort
in the opposite direction.

Sub sort_date()
If Left(Range("G3"), 1) Left(Range("G4"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A3:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub




JSnow

toggle sort columns
 
Mike H, although I follow what's supposed to happen with this code, it
doesn't seem to work. The range, A4 (not A3, my bad) through T23 will sort
via row G4 but will only do so ascending. It doesn't switch to descending.

"Mike H" wrote:

Ah,

I never thought of that, good idea.

Mike

"Lars-Ã…ke Aspelin" wrote:

If G3 and G4 are equal this macro will not work.
Better to compare G3 to G23, I think.

/ Lars-Ã…ke

On Sun, 7 Dec 2008 07:36:01 -0800, Mike H
wrote:

Hi,

This test g3 and G4 to see which way they are sorted and then does the cort
in the opposite direction.

Sub sort_date()
If Left(Range("G3"), 1) Left(Range("G4"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A3:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub




Mike H

toggle sort columns
 
Hi,

Modified and including the suggestion made by Lars-Ã…ke


Sub sort_date()
If Left(Range("G4"), 1) Left(Range("G23"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A4:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

Mike H, although I follow what's supposed to happen with this code, it
doesn't seem to work. The range, A4 (not A3, my bad) through T23 will sort
via row G4 but will only do so ascending. It doesn't switch to descending.

"Mike H" wrote:

Ah,

I never thought of that, good idea.

Mike

"Lars-Ã…ke Aspelin" wrote:

If G3 and G4 are equal this macro will not work.
Better to compare G3 to G23, I think.

/ Lars-Ã…ke

On Sun, 7 Dec 2008 07:36:01 -0800, Mike H
wrote:

Hi,

This test g3 and G4 to see which way they are sorted and then does the cort
in the opposite direction.

Sub sort_date()
If Left(Range("G3"), 1) Left(Range("G4"), 1) Then
MyWay = xlAscending
Else
MyWay = xlDescending
End If
Range("A3:T23").Sort Key1:=Range("G3"), _
Order1:=MyWay, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Mike

"JSnow" wrote:

I have a button linked to a macro that will sort a data ascending. Is there
a way to click said button a second time and it will sord descending? Here's
the code thus far:

Sub sort_date()
Range("A3:T23").Sort Key1:=Range("G3"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub




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

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