Sviluppare funzionalita su Microsoft Office con VBA ERRORE Autofilter in un codice semplice

Login Registrati
Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
  • Autore
    Articoli
  • #20909 Score: 1 | Risposta

    Ivan Bolzoni

      Buonasera a tutti,

      sto cerando di risolvere un problema ma non ne riesco ad uscire. Il problema che vorrei risolvere è il seguente : creare una sub procedure che ogni volta che un SUBTOTALE viene aggiornato viene chiamata e cambia il filtro di una tabella in base al filtro applicata ad un'altra. il codice è il seguente ( ho omesso la parte in cui controllo se la tabella Subtotale esiste perché sto testando la procedura in un foglio in cui è sempre presente). Il subtotale è collegato al numero di righe della prima tabella, in modo che quando viene filtrata il subtotale si aggiorna e triggera la procedura

      Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
      
       Application.Calculation = xlCalculationManual
      
      ' Inizializzo
      
          Dim ActiveSh As Worksheet
          Set ActiveSh = Sheets(Sh.Name)
      
          With ActiveSh
        
              ActiveTab = .ListObjects(1).Name     'TABELLA DA CUI PRENDO IL FILTRO
              Subtotale = .ListObjects(2).Name      ' TABELLA A CUI APPLICO IL FILTRO
             '------------------------------------------------
         
             ' Controllare se esiste Subtotale
             
             '--------------------------------------
              ' C'? Subtotale, quindi posso filtrarla
          
               With .ListObjects(ActiveTab)
               
                  If .AutoFilter.Filters(3).On Then    ' FILTRO NELLA CTERZA COLONNA
                     Criterio = CStr(.AutoFilter.Filters(3).Criteria1)
                     Criterio = Right(Criterio, Len(Criterio) - 1)
                  
                  Else
                      Application.Calculation = xlCalculationAutomatic
                      Exit Sub
                  End If
                  
              End With
                
          '-------------------------------------------------------------
          ' Applico Filtro
      
          'FILTRO NELLA PRIMA COLONNA
          '.ListObjects(Subtotale).Range.AutoFilter Field:=1, Criteria1:=Criterio   ' RIGA ERRORE
            'L'ERRORE è QUI
          
          
          End With
          
          Application.Calculation = xlCalculationAutomatic
      
      
      End Sub
      
      
      
      
      
      
      
      
      
      
      
      
      #20912 Score: 0 | Risposta

      Marius44
      Moderatore
        58 pts

        Ciao

        Se è possibile, allega il file (senza dati sensibili) per poterci "guardare" meglio.

         

        Ciao,

        Mario

        #20916 Score: 0 | Risposta

        ivanbolzoni
        Partecipante

          Ciao Mario, allego il file. Il codice è solo una prova, quindi perdona l'eventuale disordine .

          Tabella1 è la tabella che filtro e Subtotale la tabella che voglio modificare in base al filtro applicato alla terza colonna di Tabella1

          Allegati:
          You must be logged in to view attached files.
        Login Registrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: ERRORE Autofilter in un codice semplice
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni: