Type mismatch on range name

D

davegb

I've been running the following code in a previous macro, and it ran
fine. the only things I've changed are:
1. Changed from specifying the worksheet by name (was "In Care
Records", now have set that to a variable "RecSht" which is declared as
an object.

2. Changed the CopytoRange to specifically name the spreadsheet I want
the filtered data extracted to which is CtyExtr, declared as an object.


3. Changed the filter range from a specifed range on the sheet (i.e.,
"A1:G1000" to a named range "FilterRange". I'm getting a type mismatch
error on the follwing:

RecSht.Range("FilterRange").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Sheets(RecSht).Range("aa1:aa2"), _
CopyToRange:=CtyExtr.Range("A5"), Unique:=False


Is this enough to figure out the problem? If not, I'll post the entire
code.
Thanks for the help.
 
T

Tom Ogilvy

You can't have both

recsht.Range

and
sheets(recsht).Range


it can't be both an object and a string variable. It has to be one or the
other so both references should be the same.



If you get that cleared up, then as long at the name FilterRange exists, it
might work.
 
G

guygamer

Hi,
Since you declare Recsht as an object, you have to use it that way:
..., CriteriaRange:=RecSht.Range("aa1:aa2")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top