Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [EXCEL] Formattazione condizionale oltre le tre condizioni

    Ciao a tutti
    Ho una tabella excel e dovrei colorare i 4 maggiori valori per ogni colonna.
    Ho già calcolato i top 4 valori con la formula grande
    codice:
    =GRANDE(C$4:C$45;1)
    Il problema è che la formattazione condizionale mi permette di inserire massimo 3 condizioni

    se non sbaglio di può fare qualcosa con VBA ma non ho mai approfondito, mi basterebbe una condizione così:


    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range([D4], [D45]), Target) Is Nothing Then Exit Sub
    If Target.Value = [MIA CELLA COL MAX] Then
    Cell.Interior.ColorIndex = 3
    End If
    End Sub

    ma non funge

  2. #2
    Quote Originariamente inviata da SuperMariano81 Visualizza il messaggio
    Ciao a tutti
    Ho una tabella excel e dovrei colorare i 4 maggiori valori per ogni colonna.
    Ho già calcolato i top 4 valori con la formula grande
    codice:
    =GRANDE(C$4:C$45;1)
    Il problema è che la formattazione condizionale mi permette di inserire massimo 3 condizioni

    se non sbaglio di può fare qualcosa con VBA ma non ho mai approfondito, mi basterebbe una condizione così:


    Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Range([D4], [D45]), Target) Is Nothing Then Exit Sub
    If Target.Value = [MIA CELLA COL MAX] Then
    Cell.Interior.ColorIndex = 3
    End If
    End Sub

    ma non funge

    Ho letto solo ora il post, non so se hai già risolto.

    Con excel 2007 il limite delle tre regole di formattazione condizionale non c'è, forse stai usando una versione molto vecchia?

    Comunque esiste anche la possibilità di colorare con un'unica regola gli n valori più alti o più bassi, però essendo una sola regola la formattazione sarà la stessa per tutte le celle e non ho capito se è quello che ti serve o se vuoi colori diversi.

    Se nel tuo excel questa possibilità non c'è o vuoi colori diversi non ti resta che il VBA, prova così:

    codice:
    Private Sub Worksheet_Change(ByVal Target As Range)
       Set areadati = Range([D4], [D45])
       If Not Intersect(areadati, Target) Is Nothing Then
          For Each cella In areadati
             Select Case cella.Value
                Case [H1]
                   cella.Interior.ColorIndex = 3
                Case [H2]
                   cella.Interior.ColorIndex = 4
                Case [H3]
                   cella.Interior.ColorIndex = 5
                Case [H4]
                   cella.Interior.ColorIndex = 6
                Case Else
                   cella.Interior.ColorIndex = 0
             End Select
          Next
       End If
    End Sub

    Nell'immagine che allego ho applicato la formattazione condizionale alla colonna C e il VBA alla D.

    Buona Pasqua
    Immagini allegate Immagini allegate
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.