View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default 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