Um....OK...those are good reasons!
Now, I know there are formulaic approaches to do what you want, but
IMHO they sometimes unnecessarily bloat the size of the workbook.
Here's an alternative approach to try with an example:
Assumptions:
Sheet1 contains your data in cells A1:Z1000 with col_A holding referral
sources.
Sheets 2 through 6 will contain the extracted data to be displayed.
Using Sheet2:
The extracted data will be begin in cells $A$10:$Z$10
Insert>Name>Define
Names in workbook: Sheet2!Extract
Refers to: =Sheet2!$A$10:$Z$10
_____________________________
A1: ReferralSource
A2: (put your first referral source here)
Insert>Name>Define
Names in workbook: Sheet2!Criteria
Refers to: =Sheet2!$A$1:$A$2
______________________________
Still using Sheet2:
Insert>Name>Define
Names in workbook: Sheet2!Database
Refers to: =Sheet1!$A$1:$Z$1000
(Notice: you are on Sheet2, and creating a Sheet2-level range name,
but
the referenced range is on Sheet1)
______________________________
The reason: An advanced filter cannot SEND data to another sheet, but
it can PULL data from another sheet.
Now...set up the Advanced Data Filter:
Data>Filter>Advanced Data Filter
Select: Copy to another location
List Range: (press F3 and select Database)
Criteria Range: (press F3 and select Criteria)
Copy To: (press F3 and select Extract)
Click [OK]
Repeat that procedure for Sheets 3 through 6, changing sheet
references.
Or for a shortcut...just right-click the tab of Sheet2 and create a
copy in the same workbook. All of the same range names will carry over
and they will each be sheet specific. Then, just change the referral in
the criteria on each sheet.
Note: if you want to run that Advanced Data Filter repeatedly,
you'll need to re-select Database each time
....OR...if you're feeling a bit ambitious...
You can build a simple macro to automatically re-run the filter:
Press [Alt]+[F11] to open the VBA editor
Right click on the VBA Project folder for your workbook
Select: Insert>Module
Then, copy/paste this code into that module:
'---Start of Code-------
Option Explicit
Sub PullMatchingData()
Range("Database").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("Criteria"), _
CopyToRange:=Range("Extract"), _
Unique:=False
End Sub
'---End of Code-------
To run the code:
Tools>Macro>Macros (or [Alt]+[F8]) on each of the 5 report sheets
Select and run: PullMatchingData
You could also put a button on each sheet if you wanted.
If that is something you'd like to try....just post back with any
questions.
Regards,
Ron