You did not mention that you could have duplicated values in column M. Try this version:
Sub ExportRandom10Percent()
Dim wkbkPR As Workbook
Dim strSN As String
ThisWorkbook.Save
On Error GoTo OpenPR
Set wkbkPR = Workbooks("Pre_Random.xls")
On Error GoTo 0
GoTo AlreadyOpen
OpenPR:
Set wkbkPR = Workbooks.Open(ThisWorkbook.Path & "\Pre_Random.xls")
AlreadyOpen:
strSN = wkbkPR.Sheets(1).Name
ThisWorkbook.Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
With ThisWorkbook.Sheets(2)
.Range("AA1").Value = "Sort"
With .Range(.Range("AA2"), .Cells(.Rows.Count, "Z").End(xlUp)(1, 2))
.FormulaR1C1 = "=IF(COUNTIF(R1C13:RC[-14],RC[-14])=1,IF(ISERROR(MATCH(RC[-14],'[Pre_Random.xls]" & strSN & "'!C13,FALSE)),RAND(),10),10)"
.Value = .Value
End With
.Cells.Sort .Range("AA2"), xlAscending, header:=xlYes
.Range("AA1").Offset(1 + .UsedRange.Rows.Count / 10).Resize(.UsedRange.Rows.Count).EntireRow.Delete
.Range("AA:AA").Delete
wkbkPR.SaveCopyAs ThisWorkbook.Path & "\Pre_Random_" & Format(Date, "yyyy-mm") & ".xls"
wkbkPR.Close False
Application.DisplayAlerts = False
.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Pre_Random.xls"
End With
End Sub