The .ShowAllData essentially de-selects an autofilter without removing it from the sheet.
This error means that it's trying to carry this out when a filter is not actually in use on the activesheet.
If I need to do this I just put it in a 'Resume Next' error trap.
'clear any filters
On Error Resume Next
On Error GoTo 0
Motto? "There's always a better way" - all you have to do is find it!