Sub Top5Records()
Dim CopyRange As Range
Dim RecordCount As Integer
i = 6
'Assuming filter as already been applied
Application.ScreenUpdating = False
'Keep incremeting until we have five records
Do Until RecordCount = 5
RecordCount = Range("a2", Cells(i, "A")).SpecialCells(xlCellTypeVisible).Count
i = i + 1
Loop
'Top five records are copied
Range("2:" & i).SpecialCells(xlCellTypeVisible).Copy
Application.ScreenUpdating = True
'What next?
End Sub