ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Sort Problem - dynamically set the upper bound (https://www.excelbanter.com/excel-programming/408184-sort-problem-dynamically-set-upper-bound.html)

Nils Titley

Sort Problem - dynamically set the upper bound
 
I am sorting data and it is not sorting completely. I ploped the sort into my
code and forgot that my range is dynamic. The second range value is not the
same because the size of the output changes based on the data that I process
varies.

I know how many rows (by a variable) I have of output but how do I
dynamically set the Range.

The lower bound is A2 but the upper bound is not C20.

This is the sort I am using:

' Sort the report with preference in Ascending order
' 1) Logger ID, 2) Date and 3) Load Count
WBNew.Worksheets("Sheet1").Range("A2:C20").Sort _
Key1:=Worksheets("Sheet1").Range("B2"), _
Key2:=Worksheets("Sheet1").Range("A2"), _
Key3:=Worksheets("Sheet1").Range("C2")

Thanks

joel

Sort Problem - dynamically set the upper bound
 
The solution is simple. Your sort range is defined by the following statement

WBNew.Worksheets("Sheet1").Range("A2:C20").Sort _

You just need to change the range to be variable

Lastrow = 125
WBNew.Worksheets("Sheet1").Range("A2:C" & LastRow).Sort _


"Nils Titley" wrote:

I am sorting data and it is not sorting completely. I ploped the sort into my
code and forgot that my range is dynamic. The second range value is not the
same because the size of the output changes based on the data that I process
varies.

I know how many rows (by a variable) I have of output but how do I
dynamically set the Range.

The lower bound is A2 but the upper bound is not C20.

This is the sort I am using:

' Sort the report with preference in Ascending order
' 1) Logger ID, 2) Date and 3) Load Count
WBNew.Worksheets("Sheet1").Range("A2:C20").Sort _
Key1:=Worksheets("Sheet1").Range("B2"), _
Key2:=Worksheets("Sheet1").Range("A2"), _
Key3:=Worksheets("Sheet1").Range("C2")

Thanks


Nils Titley

Sort Problem - dynamically set the upper bound
 
Joel,

I was thinking that way but I did't use the right syntex.

Thanks

"Joel" wrote:

The solution is simple. Your sort range is defined by the following statement

WBNew.Worksheets("Sheet1").Range("A2:C20").Sort _

You just need to change the range to be variable

Lastrow = 125
WBNew.Worksheets("Sheet1").Range("A2:C" & LastRow).Sort _


"Nils Titley" wrote:

I am sorting data and it is not sorting completely. I ploped the sort into my
code and forgot that my range is dynamic. The second range value is not the
same because the size of the output changes based on the data that I process
varies.

I know how many rows (by a variable) I have of output but how do I
dynamically set the Range.

The lower bound is A2 but the upper bound is not C20.

This is the sort I am using:

' Sort the report with preference in Ascending order
' 1) Logger ID, 2) Date and 3) Load Count
WBNew.Worksheets("Sheet1").Range("A2:C20").Sort _
Key1:=Worksheets("Sheet1").Range("B2"), _
Key2:=Worksheets("Sheet1").Range("A2"), _
Key3:=Worksheets("Sheet1").Range("C2")

Thanks



All times are GMT +1. The time now is 01:56 AM.

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