View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Autofilter always includes last line of data irrespective of filter

Next time you apply a filter to that range, notice that the dropdown arrow has
changed color to blue for that column.

And the row indicators for the range that's filtered are blue.

But that last row that shows up, but doesn't match the filter as a row indicator
of black/normal.

This means that that row is not part of the filter range.

I don't think I've ever seen this happen when applying the filter manually--but
it has happened when I applied the filter via code.

My not-so-pretty workaround....

I'd add a dummy value to the row under the last real row.
I'd apply data|filter to the new range (including that dummy row).
I'd clearcontents in that dummy cell.

Yep. If I filtered to show blanks, I'd see that extra row. (And there would
also be the (Blanks) option in the autofilter dropdown list--but I could live
with that ugliness.)

And it didn't happen in every workbook--but it seemed to happen in workbook that
was built every morning from a text file. I finally gave up and just did that
workaround.


Peter wrote:

Hi Guys,

Sorry if this question has been asked/answered before but I couldn't
see it easily in a search.

I have a problem with autofilter in one particular worksheet, not all
of them.

In using autofilter via VBA I seem to get the last line of the
datatable irrespective of the criterion selected, i.e. in 613 rows of
dataI might get rows 34,45,67,98 which relate to my criterion but then
I get row 613 tagged on at the end. It happens for all my selections.

I've tried three different fixes and none worked

1) naming the exact range from row 5 (headers) column1 to row 613 col
22 as "dfilter1" and then using

Sheet12.Range("dfilter1").AutoFilter Field:=1, Criteria1:="Australia"

2) increasing the range dimensions to include rows beyond the last row
of data (i.e. lower row is now 615 not 613)

3) Including rows 5 to 65536 in my range name

I've also tried setting autoflter manually and still no joy.

I've never had this problem before - anyone else had it and sorted it?

Thanks

Peter


--

Dave Peterson