View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Mark Mark is offline
external usenet poster
 
Posts: 989
Default Cells.find only reporting range in AutoFilter...

If my intent were to turn off the auto-filter, then sure, I could do that, no
problem.

But that's not my intent. I guess I didn't state the problem well enough.

After the operations that my code will perform, I still want the autofilter
to be on; in fact, having it on will cause my code to need to do less work.

So, I don't want to turn it off. I could turn it off, find the cell
intersection, and then turn it back on, but then I'd have to write in an
array to remember what all the selected filters in the auto filter were, and
I wasn't in a mood to bother with that today, either.

I think I can do it by a combination of the usedrange.columns.count , and
the position of the first column in the used range (since Excel doesn't count
blank columns on the left as part of the used range, if there is nothing in
them).



"Jim Cone" wrote:


If objSheet.FilterMode Then objSheet.ShowAllData
--or--
If objSheet.FilterMode Then
MsgBox "Please turn off the auto filter"
Exit sub
End if
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)



"mark"
wrote in message
Years ago, someone here recommended that I use this to find the intersection
of the last used row and column, independant of whether data had been deleted
since the last save, etc:

reallastrow = Cells.Find("*", Range("A1"), xlFormulas, , xlByRows,
xlPrevious).Row
reallastcol = Cells.Find("*", Range("A1"), xlFormulas, , xlByColumns,
xlPrevious).Column

I've just discovered that the reallastcol part doesn't work if an AutoFilter
is turned on.
Instead of the last used column in the worksheet, it reports the last used
column in the autofilter, ignoring the fact that columns may be used to the
right of the autofilter.
Suggestions?