cambiare colore di riempimento a celle non formattate

Anonimo
2021-08-20T15:21:27+00:00

Ho un file di circa 20000 righe, ciascuna delle quali ha un numero variabile di colonne da min 10 a max 30.

Le celle contengono testo di colore vario frutto di copia e incolla da pagine web.

Alcune di queste celle, in posizione variabile, sono state da me colorate, per evidenziare la rilevanza, con riempimento rosso.

Nel corso dell’utilizzo mi sono accorto che non è agevole leggere il testo (soprattutto se il testo è di colore azzurro).

Vorrei cambiare il colore da rosso con altro più chiaro per ovviare all’inconveniente.

Qualcuno può suggerirmi qualche soluzione?

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

Gianfranco55 25,190 Punti di reputazione Moderatore volontario
2021-08-20T19:46:36+00:00

ciao

se hai formattato a mano le celle

Public Sub m() 

 Dim rng As Range 

 Dim c As Range 

   Set rng = Range("A1:D20000") 

 With rng 

For Each c In rng 

    If c.Interior.ColorIndex = 3 Then 

      c.Interior.ColorIndex = 10 

'c.Font.ColorIndex = 1 

End If 

Next 

End With 

 Set c = Nothing 

  Set rng = Nothing 

End Sub 

la inserisci su un modulo e poi la lanci

ricordati di cambiare il range A1:D20000 con il tuo

io però userei

'c.Font.ColorIndex = 1

se sei abituato al rosso basta che cambi il colore del carattere.

chiaramente il colore lo devi cambiare il 10 è un verde😀

NB

se vuoi usare tutte le varianti colore possibili

usa la codifica RGB(0,0,0)

If c.Interior.Color = RGB(255, 0, 0) Then 

c.Interior.Color = RGB(255, 255, 0)

per trovare le tre numerazioni

seleziona una cella colorata

vai in riempimento

altri colori

personalizzati

sotto trovi i tre codici colore

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2021-08-21T09:57:45+00:00

    Ciao Gianfranco,

    ho risolto con il tuo suggerimento.

    Grazie mille

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2021-08-21T07:15:55+00:00

    Ciao

    Norman

    da quel che ho capito io

    mfrisco0

    ha colorato di rosso determinate celle manualmente

    ora deve cambiare il colore per questione di contrasto.

    deve fare l'operazione una volta sola per correggere il colore

    dei dati già inseriti.

    ( sarebbe assurdo continuare poi a colorare di rosso😀)

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-08-21T00:40:59+00:00

    Ciao mfrisco0,

    Ho un file di circa 20000 righe, ciascuna delle quali ha un numero variabile di colonne da min 10 a max 30.

    Le celle contengono testo di colore vario frutto di copia e incolla da pagine web.

    Alcune di queste celle, in posizione variabile, sono state da me colorate, per evidenziare la rilevanza, con riempimento rosso.

    Nel corso dell’utilizzo mi sono accorto che non è agevole leggere il testo (soprattutto se il testo è di colore azzurro).

    Vorrei cambiare il colore da rosso con altro più chiaro per ovviare all’inconveniente.

    Qualcuno può suggerirmi qualche soluzione?

    Dato che indichi un intervallo di 20.000 righe e 30 possibili colonne, deduco che abbiamo a che fare con 600.000 celle. Stando così le cose, se fosse per me, prenderei in seria considerazione la possibilità di selezionare l'intero intervallo di interesse, e quindi rimuovere il colore di riempimento con un'unica istruzione di formato.

    In alternativa, se desideri sfruttare il codice suggerito da Gianfranco, ti consiglio vivamente di incapsulare quel codice tra le istruzioni:

      Application.ScreenUpdating = False 
    

    e

     Application.ScreenUpdating = True
    

    Tipo:

    '========>>

    Option Explicit

    '-------->>

    Public Sub m()

    Application.ScreenUpdating = False 
    
        '\\ il codice di Gianfranco 
    
    Application.ScreenUpdating = True 
    

    End Sub

    '<<========

    Credo che questa semplice modifica ridurrà sostanzialmente il tempo di esecuzione della macro.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento