How to Hide Filter Buttons in Specific Excel Table Columns Using VBA
Question details
The user needs to hide the filter dropdown arrows on specific columns within an Excel table without removing the filter functionality or table formatting from the rest of the columns.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Customizing the appearance of a formatted Excel table to improve readability or restrict filtering on specific data columns.
- Observed behavior
- Excel tables default to showing filter buttons on all columns, and there is no built-in user interface option to hide them selectively on an individual column basis.
Before running any VBA macros, ensure you save a backup copy of your workbook, as macro actions typically cannot be undone using the standard Undo feature.
Use a VBA Macro to Hide Specific Filter Arrows
Since Excel lacks a built-in UI toggle for individual column filters in a table, running a short VBA script is the only effective way to selectively hide specific dropdown arrows.
This VBA solution utilizes the VisibleDropDown property within the AutoFilter method. By iterating through the columns of your specified table, you can define exactly which columns should display the filter button and which should hide it.
In Excel, press Alt + F11 on your keyboard to launch the Microsoft Visual Basic for Applications (VBA) editor.
In the top menu, click on 'Insert' and select 'Module' to create a blank script window for your workbook.
Copy and paste the following code into the module window: Sub HideArrows() Dim i As Long With ActiveSheet.ListObjects("Table1").Range For i = 1 To .Columns.Count .AutoFilter Field:=i, VisibleDropDown:=i Mod 3 > 0 Next i End With End Sub
Change 'Table1' to the actual name of your formatted table. Adjust the logical condition (i Mod 3 > 0) to match the specific columns you want to hide (for example, If i = 2 Then... to hide the arrow in the second column).
Press F5 or click the green 'Run' button in the toolbar to execute the macro. The filter buttons on your specified columns will immediately disappear.

Run Macros to Manage Tables in WPS Spreadsheet
WPS Spreadsheet provides robust support for VBA and macros, allowing you to run the exact same scripts to customize your tables and selectively hide filter buttons just like in Excel.
- 1. Enable the Developer Tab: Open your workbook in WPS Spreadsheet. If the Developer tab is not visible on your ribbon, go to Menu > Options > Customize Ribbon and check the 'Developer' box.
- 2. Open the Macro Editor: Navigate to the Developer tab and click on 'Macros Editor', or simply press Alt + F11 on your keyboard.
- 3. Insert and Run the Code: Go to Insert > Module, paste the customized AutoFilter VBA script targeting your table name, and click Run. The specific filter arrows will be hidden instantly.

Frequently Asked Questions
Can I hide filter buttons without using VBA?
No. Neither Excel nor standard spreadsheet software provides a built-in user interface option to hide filter dropdowns for specific table columns while keeping the table format intact. VBA is currently the only workaround.
Will hiding the filter button remove my active filter rules?
No, hiding the filter dropdown button using the VisibleDropDown VBA property only removes the visual arrow icon. Any existing filter criteria previously applied to that column will remain active and continue to filter your data.
How do I unhide the filter buttons later?
To restore the filter buttons, you can either run a modified version of the VBA macro setting VisibleDropDown:=True for all columns, or simply toggle the main Filter button off and on again from the Data tab.
Why does the provided VBA code use 'i Mod 3 > 0'?
The expression 'i Mod 3 > 0' in the example code is simply a mathematical condition used as a placeholder to hide the arrow on every third column. You must replace this logic with your own conditions based on specific column indexes (e.g., hiding column 2 or 4) to suit your actual data needs.




