Macro per filtro su più fogli Excel
Supponiamo di avere un file Excel contenete 10 fogli di lavoro e la necessita è questa:
quando filtro la colonna A nel foglio 1, ho bisogno che lo stesso filtro venga applicato ai fogli 8,9,10
In linea di massima si potrebbe operare con una function FiltroA scritta su ogni foglio in cui ti interessa avere questo automatismo e così all’attivazione del foglio in questione puoi avere lo stesso filtro che hai sul foglio 1 nella colonna A
Ecco un esempio di macro:
Option Explicit
Private Sub Worksheet_Activate()
'Nel foglio 8, 9 e 10 inserisci il controllo dell'avento Activate
If filtroA = "" Then
If Me.FilterMode = True Then Me.Range("A1").AutoFilter
Else
Me.Range("A1").AutoFilter Field:=1, Criteria1:=filtroA
End If
End Sub
Public Function filtroA()
'Questa funzione dovrà essere riportata su ogni foglio in cui vuoi riportare il filtro del foglio1
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh
If .AutoFilterMode Then
With .AutoFilter.Filters(1)
If .On Then
filtroA = .Criteria1
End If
End With
End If
End With
Set sh = Nothing
End Function
|
In alternativa, visto che sono più fogli su cui vuoi avere il controllo, puoi riportare la function in un modulo e così la scrivi una sola volta mentre l’evento Activate lo riporti su ogni foglio in cui vuoi avere l’automatismo.
Prova questa soluzione e facci sapere se funziona nel tuo file.

