Sviluppare funzionalita su Microsoft Office con VBA cambiare colore a una riga dopo averla filtrata in un'altra tabella vba

LoginRegistrati
Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
  • Autore
    Articoli
  • #22750 Risposta

    frallin
    Partecipante

      Gentili tutti, ancora attivo in questo periodo.

      Il quesito di oggi è quello in oggetto. Cerco di spiegarmi meglio.

      Ho una tabella in un Foglio (PRODUZIONE) 

      a cui ho applicato una macro di filtro avanzato però in un altro Foglio (COPERTURE)

      Nell'immagine precedente il filtro mi da una selezione nulla per cui non voglio che succeda niente al primo foglio (PRODUZIONE).

      Ma se, dopo aver applicato il filtro al Foglio (COPERTURE) il filtro risultasse non vuoto, come nell'esempio nell' immagine seguente,

      vorrei che nel primo foglio (PRODUZIONE), cioè il foglio di origine dei dati, le righe selezionate cambiassero colore ( nell'immagine di seguito inserisco il verde).

      il codice usato per la macro del filtro avanzato è la seguente:

       Sheets("PRODUZIONE").Range( _
              "Tabella1[[#Headers],[#Data],[N]:[NUOVA PRODUZIONE LORDA]]").AdvancedFilter _
              Action:=xlFilterCopy, CriteriaRange:=Range("AA5:AY6"), CopyToRange:=Range _
              ("A8:Y8"), Unique:=False

      Vorrei che dopo il filtro, le righe ottenute cambiassero colore nel file di origine (PRODUZIONE).

      Riuscite ad aiutarmi?

      Grazie.

      #22752 Risposta
      Luca73
      Luca73
      Partecipante
        20 pts

        Ciao 

        Allega un file anche semplificato (ovvero senza dati sensibili) che sia significativo nella struttura e nel tipo di dati e con tutte le macro usate.

        Ciao

        Luca

        #22753 Risposta

        frallin
        Partecipante

          Eccolo.

          Spero sia di facile lettura.

          grazie

          Allegati:
          You must be logged in to view attached files.
          #22757 Risposta
          Luca73
          Luca73
          Partecipante
            20 pts

            Aprendo il file genera una serie di errori ....

            inoltre non ho capito quale macro (o quale pulante...) genera il filtro....

            Il file è molto complesso... cerca di dare qualche nfo in +

             

            #22762 Risposta
            PMC77
            PMC77
            Partecipante
              6 pts

              Concordo con Luca!

              Pur animato dalle migliori intenzioni, mi sono arreso!

              Help!

              #22763 Risposta

              Aldo Ercolini
              Partecipante
                1 pt

                Ciao,

                prova a aggiungere questo

                 Dim i As Long, o As Long, Nriga As Long
                 Dim SH1 As String, SH2 As String
                 Dim ValPolizza As Variant
                    
                    SH1 = "PRODUZIONE"
                    SH2 = "COPERTURE"
                    Nriga = 9    
                    Sheets(SH2).Activate
                
                    For i = 9 To Sheets(SH2).Cells(Rows.Count, 1).End(xlUp).Row
                         ValPolizza = Sheets(SH2).Cells(i, 1)
                        For o = 5 To Sheets(SH1).Cells(Rows.Count, 1).End(xlUp).Row
                            If Sheets(SH1).Cells(o, 1).Value = ValPolizza Then
                               Sheets(SH1).Range("A" & o & ":Z" & o).Interior.Color = RGB(0, 255, 0)
                               riga = Nriga + 1
                               Exit For
                            End If
                        Next o
                    Next i

                alla SUB FILTRA del modulo 20 e vedi se fa quello che chiedi.

                #22765 Risposta

                Aldo Ercolini
                Partecipante
                  1 pt

                  Errata corrige:

                  Dim i As Long, o As Long, Nriga As Long
                   Dim SH1 As String, SH2 As String
                   Dim ValPolizza As Variant
                      
                      SH1 = "PRODUZIONE"
                      SH2 = "COPERTURE"
                      Nriga = 9
                      Sheets(SH2).Activate
                      
                      For i = 9 To Sheets(SH2).Cells(Rows.Count, 1).End(xlUp).Row
                          ValPolizza = Sheets(SH2).Cells(i, 4)
                          For o = 5 To Sheets(SH1).Cells(Rows.Count, 1).End(xlUp).Row
                              If Sheets(SH1).Cells(o, 4).Value = ValPolizza Then
                                  Sheets(SH1).Range("A" & o & ":Z" & o).Interior.Color = RGB(0, 255, 0)
                                  Nriga = Nriga + 1
                                  Exit For
                              End If
                          Next o
                      Next i
                LoginRegistrati
                Stai vedendo 7 articoli - dal 1 a 7 (di 7 totali)
                Rispondi a: cambiare colore a una riga dopo averla filtrata in un'altra tabella vba
                Gli allegati sono permessi solo ad utenti REGISTRATI
                Le tue informazioni:



                vecchio frac - 2750 risposte

                albatros54
                albatros54 - 833 risposte

                patel
                patel - 724 risposte

                Marius44
                Marius44 - 634 risposte

                Luca73
                Luca73 - 587 risposte