In Excel: paste Sub Macro1() into the VBA editor (Alt + F11 → Insert ▸ Module), press F5 to run, and save as .xlsm to keep the macro.
On this page8
VBA macro: Clear Filter
Sub Macro1()
' clear filter — replace the body with your steps
Dim ws As Worksheet
Set ws = ActiveSheet
' ... your code here ...
End SubHow to run this macro
- Press Alt + F11 to open the VBA editor.
- Insert > Module.
- Paste the code above.
- Press
F5, or close the editor and run it from Developer > Macros. - Save the file as .xlsm so the macro is kept.
Open Excel and navigate to Developer ▸ Visual Basic (or press Alt + F11).
Select Insert ▸ Module from the menu bar inside the VBA editor.
Copy and paste Sub Macro1() into the Module.
Click anywhere inside the Sub body and press F5 to run.
Close the VBA editor and save the file as .xlsm.
What this does
Pasting Sub Macro1() into Excel's VBA editor gives you a one-click solution to clear filter. The macro runs inside the Visual Basic for Applications (VBA) environment, which lets it loop over entire sheets, inspect every cell, and take action faster than any manual workflow. Open the editor with Alt + F11, insert a new Module, paste the code, and run it — the Clear Filter task completes automatically. Save the file as .xlsm (macro-enabled workbook) so the Sub is preserved when you close and reopen Excel. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. For “clear filter excel vba”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected filter change, and only then apply the same setup to the full sheet. When this is a ribbon command, the selection matters more than the button: confirm the range, apply the command, then spot-check the output before saving. That is what makes a data step that keeps your analysis trustworthy useful in real work: repeatable, auditable, and not dependent on memory or luck.
A worked example
Scenario: you have a workbook with 500 rows of sales data and you need to clear filter. Without a macro you would scroll through every row manually, which is error-prone and slow. Instead, open the VBA editor (Alt + F11), insert a Module (Insert ▸ Module), paste Sub Macro1() into the code window, and press F5 to run. The macro processes all 500 rows in under a second, clear filter exactly as specified by the code. On a Mac, use Option+F11 to open the editor if Alt+F11 does not respond. Use Sub Macro1() every time you need to clear filter reliably at scale. The macro eliminates the most common sources of error in manual work: missed rows, wrong column references, and inconsistent criteria. Once the code is tested and trusted, you can run it repeatedly with one click — zero cognitive overhead, zero variation in output. If this is something you do often, add the command to the Quick Access Toolbar (right-click it on the ribbon and choose Add to Quick Access Toolbar) or learn its shortcut, so next time it is one click instead of a hunt through the menus.
In Google Sheets
Google Sheets does not run VBA. A macro written for Excel has to be rewritten in Google Apps Script (Extensions ▸ Apps Script), and an .xlsm file converted to Sheets keeps its cells but drops the code. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. If you take one thing from this page on “clear filter excel vba”, make it the order of checks rather than the individual clicks: confirm what is selected, apply the step, and look at the result before moving on. That small routine is what keeps Excel work predictable when the same task comes back in a slightly different workbook.
Common mistakes
- Missing Option Explicit at the top of the module — adding it forces VBA to flag typos in variable names immediately, saving time debugging.
- Not qualifying the range with the worksheet object — using Cells(1,1) without a ws. qualifier acts on whatever sheet is active; if the macro runs from a different sheet it may corrupt data. The pattern `Dim ws As Worksheet: Set ws = ActiveSheet` (or a specific sheet name) pins the action to the right place.
- Forgetting that macros cannot be undone with Ctrl+Z once they have modified the sheet. Test on a copy of the workbook before running on live data.
Frequently asked questions
How do I run the Clear Filter macro?
Press Alt + F11 to open the VBA editor, insert a Module (Insert ▸ Module), paste Sub Macro1() into the code pane, and press F5. Alternatively close the editor and run it from Developer ▸ Macros ▸ select "Macro1" ▸ Run.
Why won't my macro run — macros are disabled?
Excel blocks macros by default for files downloaded from the internet. Click the yellow security bar and choose "Enable Content" — that trusts this one workbook and is all that is normally needed. Leave File ▸ Options ▸ Trust Center ▸ Trust Center Settings ▸ Macro Settings on "Disable VBA macros with notification" rather than switching to "Enable all macros", which Microsoft itself marks not recommended. If the bar is red instead of yellow, the file carries Mark of the Web: close Excel, right-click the file, open Properties and tick Unblock. Also ensure the file is saved as .xlsm, not .xlsx.
Can I undo what the Clear Filter macro did?
No — VBA actions generally cannot be undone with Ctrl+Z because they bypass Excel's undo stack. Always test Sub Macro1() on a backup copy of the workbook before running it on live data, or add explicit validation logic inside the macro before the destructive step.