How to Reapply an Excel Filter on Another Worksheet Without VBA
Question details
The user wants to control or reapply a data filter on one worksheet from a different worksheet without relying on VBA macros.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Creating a publicly downloadable spreadsheet where macro security warnings might deter users from opening or trusting the file.
- Observed behavior
- Excel's built-in filter commands only operate on the currently active worksheet, making it impossible to remotely reapply an AutoFilter from another sheet without using VBA scripts.
Determine if you simply need to view dynamically filtered data on your current sheet, as you can replace traditional AutoFilters with array formulas to bypass VBA completely.
Use the FILTER Function for Dynamic Updates Across Sheets
Instead of using AutoFilter, use the dynamic array FILTER function to automatically pull and filter data from a source sheet to your active sheet.
Excel's built-in AutoFilter requires the target sheet to be active. By utilizing the dynamic array FILTER function, you can display filtered results on a different sheet in real-time based on criteria you define, eliminating the need for VBA and avoiding macro warnings.
Go to the worksheet where you want the filtered data to appear and click on the top-left cell of the target area.
Type `=FILTER(SourceSheet!A2:D100, SourceSheet!B2:B100="YourCriteria", "No results")`, replacing 'SourceSheet!A2:D100' with your actual data range and 'SourceSheet!B2:B100' with the column you are evaluating.
Press Enter. The filtered data will spill into the adjacent cells automatically. If the source data or criteria changes, this sheet will instantly update without requiring you to reapply anything.

Redesign the Worksheet to Keep Data and Filters Together
Reorganize your workbook so that the data and the necessary filter controls reside on the same active worksheet.
Easily Filter Data Across Sheets with WPS Spreadsheet
WPS Spreadsheet offers powerful built-in dynamic array functions like FILTER, allowing you to seamlessly extract and manage data across multiple worksheets securely without ever needing VBA macros.
- 1. Open your file in WPS: Launch WPS Spreadsheet and open your multi-sheet workbook.
- 2. Select your target cell: Navigate to the sheet where you want to display the filtered results and click the starting cell.
- 3. Insert the dynamic formula: Type `=FILTER(` and highlight your source data array on the other worksheet, specify your criteria, and press Enter to instantly populate the data.

Frequently Asked Questions
Can I create a clickable button to reapply filters on another sheet without VBA?
No, standard form control buttons require macros (VBA) to execute actions like navigating to a different sheet and reapplying a filter. To avoid VBA entirely, you should use dynamic formulas like the FILTER function to handle data updates automatically.
Will using the FILTER function cause security warnings for people downloading my file?
No, the FILTER function is a standard built-in formula. Unlike VBA macros which require .xlsm files and trigger security prompts, standard formulas saved in an .xlsx file are completely secure and will not trigger macro warnings.
Why doesn't Excel's Advanced Filter feature update automatically when source data changes?
Excel's Advanced Filter extracts data statically at the exact moment you run the command. To update the extracted results when the source data changes, you must manually run the Advanced Filter again. For automatic updates without VBA, use the dynamic FILTER function instead.




