You seem to have achieved a lot already!
The easiest way of getting the sheets in order would be to call the sorting
macro you already have from the end of the main macro. Just put the name of
the sort routine in as a line in PagesByDescription.
After the line 'Add a sheet named as content of rCell you could put
On Error Resume Next 'actually I think you already have this running
If ActiveWorkbook.Sheets(rCell) Is Nothing Then
'Your code if the sheet does not exist
Else
'your code if the sheet does exist
End If