Explain code

  • Thread starter Thread starter Novice Lee
  • Start date Start date
N

Novice Lee

Could someone explain the following code for me I'm new VBA and have never
seen some of these Items

Thanks

With Sheets(3)

LastRow = .Range("A" & Rows.Count).End(xlUp).Row
Set SortRange = .Rows("2:" & LastRow)
SortRange.Sort _
Key1:=Range("A2"), _
Order1:=xlAscending, _
Key2:=Range("C2"), _
Order2:=xlAscending, _
Header:=xlNo
End With
 
'Qualify the sheet you want to execute on
'using the "With" Statement.

With Sheets(3)

'Assign variable for last row with data in it.

LastRow = .Range("A" & Rows.Count).End(xlUp).Row

'Set the of object variable for the range to search.

Set SortRange = .Rows("2:" & LastRow)

'Execute the sort procedure

SortRange.Sort _
Key1:=Range("A2"), _
Order1:=xlAscending, _
Key2:=Range("C2"), _
Order2:=xlAscending, _
Header:=xlNo

'Close the "With" statement.

End With
 
For details of the individual words, you can view
the code in the Visual Basic Editor and highlight
the word you want to know more about, then
press F1. It will display the help file for that word,
if one exists. If not it will tell you that, too.
 
Here is futher explaination on the lastrow

LastRow = .Range("A" & Rows.Count).End(xlUp).Row

Rows.Count in the total number of rows on the worksheet. For excel 2003 it
is 65536, but excel 2007 it is larger.

The end statement has 4 different options
1) xlup
2) xldown
3) xltoleft
4) xltoright

the function end find the first cell that is not empty.

Sol the statemnt is Range("A65536") then move up Column A until a
non-empty cell is found and return the Row number

for last column use this statmen t

Cells(1,Columns.Count).end(xltoleft).Column


Which is Cells(1,256).end(xltoleft).Column
 
Just to add...

You'll want to qualify the ranges here, too:

SortRange.Sort _
Key1:=.Range("A2"), _
Order1:=xlAscending, _
Key2:=.Range("C2"), _
Order2:=xlAscending, _
Header:=xlNo

(I added dots in front of both Range()'s.)
 
Back
Top