Colore Celle

di il
4 risposte

Colore Celle

Buongiorno a tutti,
ciò che vorrei fare altro non è che la formattazione condizionale ma utilizzando il codice VBA.
Con la form.cond. non ho problemi.
Reputo di per se il codice molto banale ma qualcosa mi sfugge e succede qualcosa di strano...

Vorrei che se il valore di una cella fosse >= di un numero (nel mio caso una valuta) tale cella sia del colore verde in caso contrario rosso.

Option Explicit
Sub Colore()
    If Cells(5, 1).Value >= 0 Then
        Cells(5, 1).Interior.Color = RGB(29, 175, 64)       'verde
    Else
        Cells(5, 1).Interior.Color = RGB(238, 51, 46)       'rosso
    End If

End Sub


Che errore ottengo ?
Il valore della cella (5,1) o A5, quando è negativo il codice funziona.
Nel momento che lo stesso valore lo metto positivo succede qualcosa che non spiego.
La cella (5,1) rimane sempre rossa e la cella N9 diventa verde.

Che cacchio succede?

Grazie

4 Risposte

  • Re: Colore Celle

    Prova questo codice utilizzando un file xlsx nuovo, probabilmente ci sono altre condizioni o calcoli che intervengono
  • Re: Colore Celle

    Ho provato a chiudere e riaprire e funziona ora. Grazie.
    Una curiosità, che codice potrei utilizzare per fare l'autorefresh ogni volta che il valore della cella cambia?
    Allo stato attuale salvo come macro e rieseguo, non è però molto comodo.

    Grazie
  • Re: Colore Celle

    Guarda, non sono un esperto ma credo sia sufficiente utilizzare l'evento Worksheet.Change come nell'esempio qui sotto (ho provato e funziona):
    Option Explicit
    Sub Colore()
        If Cells(5, 1).Value >= 0 Then
            Cells(5, 1).Interior.Color = RGB(29, 175, 64)       'verde
        Else
            Cells(5, 1).Interior.Color = RGB(238, 51, 46)       'rosso
        End If
    
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Colore
    End Sub
    
  • Re: Colore Celle

    Perfetto funziona.
    Grazie
Devi accedere o registrarti per scrivere nel forum
4 risposte