ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   CODE rectification while sorting in descending order (https://www.excelbanter.com/excel-programming/378262-code-rectification-while-sorting-descending-order.html)

Thulasiram[_2_]

CODE rectification while sorting in descending order
 
Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram


Thulasiram[_2_]

CODE rectification while sorting in descending order
 
Sorry, the line in the sub in previous post should have been:

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending

This arranges the last column in descending order but not its
associated rows.

The full procedure is given again:

sub test()
Dim rng As Range

Set rng = Range("A2:G6")
rng.Copy Destination:=Range("A10")

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending
End Sub

Thanks,
Thulasiram

Thulasiram wrote:
Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram



Jim Jackson

CODE rectification while sorting in descending order
 
Range("A2:G6").Sort Key1:=Range("G2"), Order1:=xlDescending
--
Best wishes,

Jim


"Thulasiram" wrote:

Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram



Thulasiram[_2_]

CODE rectification while sorting in descending order
 
That was perfect Jim.

Thanks...

Jim Jackson wrote:
Range("A2:G6").Sort Key1:=Range("G2"), Order1:=xlDescending
--
Best wishes,

Jim


"Thulasiram" wrote:

Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram




Jim Jackson

CODE rectification while sorting in descending order
 
Change "Range("G10")" to "Range("A2:G10")" and all the data will sort as
intended.
--
Best wishes,

Jim


"Thulasiram" wrote:

Sorry, the line in the sub in previous post should have been:

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending

This arranges the last column in descending order but not its
associated rows.

The full procedure is given again:

sub test()
Dim rng As Range

Set rng = Range("A2:G6")
rng.Copy Destination:=Range("A10")

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending
End Sub

Thanks,
Thulasiram

Thulasiram wrote:
Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram




Jim Jackson

CODE rectification while sorting in descending order
 
Glad I could help.
--
Best wishes,

Jim


"Thulasiram" wrote:

That was perfect Jim.

Thanks...

Jim Jackson wrote:
Range("A2:G6").Sort Key1:=Range("G2"), Order1:=xlDescending
--
Best wishes,

Jim


"Thulasiram" wrote:

Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram





Thulasiram[_2_]

CODE rectification while sorting in descending order
 
The modified code given in the second post solved the problem that I
faced (in my first post in this thread). I was able to rectify it. So,
got the solution!

Just wanted to post the update so that none ponders over the solved
issue.

Thanks,
Thulasiram

Thulasiram wrote:
Sorry, the line in the sub in previous post should have been:

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending

This arranges the last column in descending order but not its
associated rows.

The full procedure is given again:

sub test()
Dim rng As Range

Set rng = Range("A2:G6")
rng.Copy Destination:=Range("A10")

Range("G10").CurrentRegion.Sort Key1:=Range("G10"),
Order1:=xlDescending
End Sub

Thanks,
Thulasiram

Thulasiram wrote:
Hello all,

I have a a small set like this:

1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1
2.1 0 1 1 1 1 4
2.2 1 1 1 1 1 5

This set should be rearranged according to the descending order of the
last column. i.e. last column is sorted in descending order and its
corresponding rows are swapped accordingly.

End result would be:

2.2 1 1 1 1 1 5
2.1 0 1 1 1 1 4
1.1 1 1 1 0 0 3
1.2 1 0 0 1 0 2
1.3 1 0 0 0 0 1

I am using a code like this.

sub test()

Dim rng As Range

Set rng = Range("A2:G6") ' where A2 is 1 and G6 is 5
rng.Copy Destination:=Range("A10") ' copies the range to the A10 and
pastes the range

Range("O6").CurrentRegion.Sort Key1:=Range("O6"), Order1:=xlDescending

end sub

How to change the code to arrive at the end result as given in the
example above? Please help.

Thanks,
Thulasiram




All times are GMT +1. The time now is 03:06 AM.

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