Condividi tramite

Filtro su più tabelle

Anonimo
2022-10-21T07:21:16+00:00

Ciao, se in un foglio excel ho due tabelle una esattamente sotto l'altra, se provo a mettere il filtro nelle colonne della prima non posso metterlo sulla seconda sotto.

Esiste una soluzione per mettere il filtro contemporaneamente su tutte e due le tabelle?

Microsoft 365 e Office | Excel | Per il lavoro | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

8 risposte

Ordina per: Più utili
  1. Anonimo
    2022-10-21T16:03:48+00:00

    Ciao Nicola,

    Ciao, se in un foglio excel ho due tabelle una esattamente sotto l'altra, se provo a mettere il filtro nelle colonne della prima non posso metterlo sulla seconda sotto.

    Esiste una soluzione per mettere il filtro contemporaneamente su tutte e due le tabelle?

    Ponendo che le due tabelle di interesse siano tabelle di Excel, in un modulo di codice standard, prova il seguente codice:

    '========>>

    Option Explicit

    '-------->>

    Public Sub Synchronise_Filters()

    Dim SH As Worksheet 
    
    Dim oTabella As ListObject, oTabella2 As ListObject 
    
    Dim vVal As Variant 
    
    Dim Arr As Variant 
    
    Dim oAutoFilter As AutoFilter, oAutoFilter2 As AutoFilter 
    
    Dim i As Long 
    
    Const sFoglio As String = **"TABELLE"                      '<<=== Modifica** 
    
    Const sTabella As String = **"Table1"                        '<<=== Modifica** 
    
    Const sTabella2 As String = **"Table2"                      '<<=== Modifica** 
    
    Set SH = ThisWorkbook.Sheets(sFoglio) 
    
    With SH 
    
        Set oTabella = .ListObjects(sTabella) 
    
        Set oTabella2 = .ListObjects(sTabella2) 
    
    End With 
    
    Set oAutoFilter = oTabella.AutoFilter 
    
    Set oAutoFilter2 = oTabella2.AutoFilter 
    
    With oAutoFilter 
    
        If .FilterMode Then 
    
            For i = 1 To .Filters.Count 
    
                ReDim Arr(0) 
    
                If .Filters(i).On Then 
    
                    If IsArray(.Filters(i).Criteria1) Then 
    
                        For Each vVal In .Filters(i).Criteria1 
    
                            Arr(UBound(Arr)) = Mid(vVal, 2, Len(vVal)) 
    
                            ReDim Preserve Arr(UBound(Arr) + 1) 
    
                        Next vVal 
    
                        ReDim Preserve Arr(UBound(Arr) - 1) 
    
                    Else 
    
                        Arr(UBound(Arr)) = oAutoFilter.Filters(i).Criteria1 
    
                        ReDim Preserve Arr(UBound(Arr) + 1) 
    
                        On Error Resume Next 
    
                        Arr(UBound(Arr)) = oAutoFilter.Filters(i).Criteria2 
    
                        If Err <> 0 Then ReDim Preserve Arr(UBound(Arr) - 1) 
    
                        On Error GoTo 0 
    
                    End If 
    
                    oTabella2.Range.AutoFilter Field:=i, Criteria1:=Arr, Operator:=xlFilterValues 
    
                Else 
    
                    oTabella2.Range.AutoFilter Field:=i 
    
                End If 
    
            Next i 
    
        Else 
    
            With oTabella2.Range 
    
                For i = 1 To .Columns.Count 
    
                    .AutoFilter Field:=i 
    
                Next i 
    
            End With 
    
        End If 
    
    End With 
    

    End Sub

    '<<========

    Potresti scaricare il mio file di prova Nicola20221021.xlsm

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    2 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
  2. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2022-10-22T14:17:58+00:00

    La cosa veramente meravigliosa del forum è l'accostamento e la congiunzione di idee provenienti da una varietà di fonti, offerte liberamente senza alcun ulteriore senso di ricompensa!

    È quello che permette a tutti di crescere, se si sceglie di imparare,

    ciao.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-10-22T00:04:38+00:00

    Ciao Eleuterio,

    Ciao Norman,

    è proprio vero che non si finisce mai di imparare😃

    Parlando solo per me, il giorno in cui scelgo di non imparare è il giorno in cui abbandonerò sia Excel che questo forum.

    La cosa veramente meravigliosa del forum è l'accostamento e la congiunzione di idee provenienti da una varietà di fonti, offerte liberamente senza alcun ulteriore senso di ricompensa!

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2022-10-21T17:22:17+00:00

    Ciao Norman,

    è proprio vero che non si finisce mai di imparare😃

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eleuterio Tedeschi 18,590 Punti di reputazione Moderatore volontario
    2022-10-21T07:31:13+00:00

    Ciao, se in un foglio excel ho due tabelle una esattamente sotto l'altra, se provo a mettere il filtro nelle colonne della prima non posso metterlo sulla seconda sotto.

    Esiste una soluzione per mettere il filtro contemporaneamente su tutte e due le tabelle?

    Ciao Nicola,

    i filtri automatici sono mutuamente esclusivi, per cui la risposta alla tua domanda è negativa.

    Devo segnalarti che non stando riscontro alle risposte che ti vengono fornite e questo rende difficilmente leggibile i contenuti del forum, per cui, laddove hai ricevuto indicazioni valide, cerca di contrassegnare le soluzioni percorribili,

    grazie.

    La risposta è stata utile?

    0 commenti Nessun commento