Mantenere le regole di Formattazione Condizionale in un Range definito

Anonimo
2011-04-18T08:19:29+00:00

Ciao a Tutti,

Qualcuno mi potrebbe gentilmente aiutare, nel risolvere il seguente problema:

Ho un range definito di 1000 righe, ed ho definito 6 regole di formattazione condizionale, che si applicano a tutte le 1000 righe. nel campo "Si Applica a" infatti definisco tutto il range.

Al range è applicato un filtro automatico ! Il problema è che ogni volta che inserisco delle righe nuove, le regole si moltiplicano con , simili nelle formattazioni e nel risultato finale visivo, ma se vado a vedere il range di applicazione di ciascuna, è tutto frammentato.Nel tempo mi trovo ad avere una quantità di regole ENORME, che ho dovuto spesso correggere per problemi .

Mi piacerebbe che le 6 regole definite si conservassero = cosi' come impostate, e non si alterassero se inserisco delle righe nel range definito.

Grazie Mille , anticipatamente.

Microsoft 365 e Office | Excel | Per la casa | 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
Risposta accettata dall'autore della domanda
Anonimo
2011-04-21T14:09:57+00:00

Ciao Mauro,

scusa ma mi sono accorto di una condizione nella quale questa macro non lavora bene!

Supponiamo che nel range nella prima riga sia presente un filtro automatico.

Le righe visualizzate potrebbero non essere contigue, e facendo una copia della riga precedente ad activecell, in activecell+1, questa copia puo avvenire in modo sbagliato e dare errore.

Come faccio a valutare questa NON contiquità delle righe ( lo sono per effetto del filtro, ma non come numero seriale)

Grazie Ancora

 

Questa macro ti fa vedere come recuperare: colonne e criteri dei tuoi filtri:

Public Sub mCriteriFiltro()

    Dim sh As Worksheet

    Dim rng As Range

    Dim lCol As Long

    Dim ftr As Filter

    Dim s As String

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    lCol = 1

    With sh

        If .AutoFilterMode Then

            For Each ftr In sh.AutoFilter.Filters

                s = ""

                If ftr.On Then

                    s = s & "Criterio1: " & ftr.Criteria1

                    If ftr.Operator Then

                        s = s & " - Criterio2: " & ftr.Criteria2

                    End If

                End If

                If Len(s) > 0 Then

                    MsgBox "Colonna del filtro: " & lCol _

                        & vbNewLine & s

                End If

                lCol = lCol + 1

            Next

        End If

    End With

    Set ftr = Nothing

    Set rng = Nothing

    Set sh = Nothing

End Sub

 Non dovrebbe essere difficile capire come:

  1. Controllare l'esistenza del filtro
  2. Recuperare colonne e criteri applicati
  3. Togliere il filtro
  4. Eseguire la macro che inserisce le righe
  5. Riapplicare il filtro passando colonne e criteri

Se non riesci(ma prima prova, eh) fai sapere. Grazie.

La risposta è stata utile?

0 commenti Nessun commento

14 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-04-19T21:26:32+00:00

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-04-19T13:27:17+00:00

    Scusa Mauro,

    non ho mai passato file in questo modo.

    Io ho caricato il file, ma per postarlo, devo inserire la tua mail e non la trovo da nessuna parte.

    chiedo lumi

    Grazie

     

    Devi postare il link che vedi nella barra degli indirizzi del browser quando ti trovi nella cartella dove hai inserito il file in Skydrive. Vedi: http://www.maurogsc.eu/comefareperexcel/utilizzoskydrive.aspx, punti 2.15 e 2.16.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-04-18T21:28:16+00:00

    Scusa Mauro,

    non ho mai passato file in questo modo.

    Io ho caricato il file, ma per postarlo, devo inserire la tua mail e non la trovo da nessuna parte.

    chiedo lumi

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2011-04-18T08:59:49+00:00

    Ciao a Tutti,

    Qualcuno mi potrebbe gentilmente aiutare, nel risolvere il seguente problema:

     

    Ho un range definito di 1000 righe, ed ho definito 6 regole di formattazione condizionale, che si applicano a tutte le 1000 righe. nel campo "Si Applica a" infatti definisco tutto il range.

    Al range è applicato un filtro automatico ! Il problema è che ogni volta che inserisco delle righe nuove, le regole si moltiplicano con , simili nelle formattazioni e nel risultato finale visivo, ma se vado a vedere il range di applicazione di ciascuna, è tutto frammentato.Nel tempo mi trovo ad avere una quantità di regole ENORME, che ho dovuto spesso correggere per problemi .

     

    Mi piacerebbe che le 6 regole definite si conservassero = cosi' come impostate, e non si alterassero se inserisco delle righe nel range definito.

    Grazie Mille , anticipatamente.

    Puoi postare  e metter ein condivisione un esempio qui: http://explore.live.com/windows-live-skydrive?wa=wsignin1.0 . Grazie. Ricordati di postare poi in link al file. Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento