How to Create Filter on Same Column but Multiple Worksheets Simultaneously in Excel

,

In daily work we may have multiple worksheets with the same template in excel. So, if we create a filter on column A on worksheet1, in most time we need to create filter on column A for the other worksheets as well. If we create them on worksheets manually, it spends al lot of time and it is very bothersome. We need a convenient way to create filters immediately. This article will introduce you a trick to create filters applied on multiple worksheets at one time via VBA code. If you are not good at coding, you can just copy and paste the code in below article directly.

Precondition:

Prepare two tables with the same template.

Create Filter on Same Column but Multiple Worksheets 1            Create Filter on Same Column but Multiple Worksheets 2

Suppose we want to create filter on Level column to filter student whose level is ‘A’, how can we create filter on two worksheets simultaneously?

Method: Create Filter on Multiple Worksheets Via VBA Code


Step 1: On current visible worksheet, right click on sheet name tab to load Sheet management menu. Select View Code, Microsoft Visual Basic for Applications window pops up.

Create Filter on Same Column but Multiple Worksheets 3

Or you can enter Microsoft Visual Basic for Applications window via Developer->Visual Basic. You can also press Alt + F11 keys simultaneously to open it.

Create Filter on Same Column but Multiple Worksheets 4

Step 2: In Microsoft Visual Basic for Applications window, click Insert->Module, enter below code in Module1:

Sub autofilter1()

    Dim ws As Worksheet

    On Error Resume Next

    For Each ws In Worksheets

        ws.Range("$D$1").autofilter 4, "=A"

    Next

End Sub

$D$1 indicates the position (or column) we want to create filter for; autofilter 4 indicates the number of column, if we want to filter on column A, here we type autofilter 1; ‘=A’ is the criteria.

Step 3: Save code, see screenshot below.

Create Filter on Same Column but Multiple Worksheets 5

Step 4: Don’t quit current page, press F5 to trigger Macro directly.

Create Filter on Same Column but Multiple Worksheets 6

If you already quit current page, you can click Developer->Macros to run Macro.

Step 5: Select Sheet1.autofilter1, click Run.

Step 6: Quit Microsoft Visual Basic for Applications window. Verify that filters are created on both worksheet1 and worksheet2. Level A is filtered properly on two worksheets.

Create Filter on Same Column but Multiple Worksheets 7 Create Filter on Same Column but Multiple Worksheets 8

Comment:

  1. If we want to filter where score>=80, we can enter below code:
Sub autofilter2()

    Dim ws As Worksheet

    On Error Resume Next

    For Each ws In Worksheets

        ws.Range("$C$1").autofilter 3, ">=80"

    Next

End Sub

Run F5 and verify filter is applied on two worksheets properly.

Create Filter on Same Column but Multiple Worksheets 9 Create Filter on Same Column but Multiple Worksheets 10