sorting in a macro and defining last row into varible not working in

  • Thread starter Thread starter S Himmelrich
  • Start date Start date
S

S Himmelrich

Dim LastRow99 As Long

LastRow99 = .Cells(.Rows.Count, "A").End(xlUp).Row

ActiveWorkbook.Worksheets("Working Sheet").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Working Sheet").Sort.SortFields.Add
Key:=Range( _
LastRow99), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:= _
xlSortNormal


I get Run-time error '1004':
Method 'Range' of object '_Global' failed
 
You pass Long as argument to Range.
May be, you should redefine LastRow99, and use End(xlUp).EntireRow
range
 
You have to specify the range that you want sorted. I used A1 through X(lastrow
in column A). You'll want to change that to use the column you need.

Dim LastRow99 As Long

with activeworkbook.worksheets("working sheet")
lastRow99 = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("A1:X" & LastRow99), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
 
needing to sort on column A, C, F & G

You have to specify the range that you want sorted.  I used A1 through X(lastrow
in column A).  You'll want to change that to use the column you need.

Dim LastRow99 As Long

with activeworkbook.worksheets("working sheet")
    lastRow99 = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=.Range("A1:X" & LastRow99), _
         SortOn:=xlSortOnValues, Order:=xlAscending, _
         DataOption:=xlSortNormal
 
Record a macro when you do it manually. Remember, since you're sorting on 4
fields, you'll have to do the sort twice.
 
Back
Top