È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Formattazione con VBA

  • Messaggi
  • OFFLINE
    Nicckho
    Post: 16
    Registrato il: 29/12/2014
    Età: 42
    Utente Junior
    2007
    00 06/05/2018 13:14
    Ciao a tutti,
    nel foglio in allegato "real", relativamente ad ogni riga (partendo dalla riga 4 fino alla riga 200) vorrei ottenere con VBA le seguenti formattazioni:
    1) se il valore di ogni singola cella compresa tra AL4 E BL200 è minore o uguale a zero, colora le celle di rosso;
    2) se il valore di ogni singola cella compresa tra AL4 E BL200 è compreso tra i rispettivi valori di C ed I, colore le celle di verde;
    3) se il valore di ogni singola cella compresa tra AL4 E BL200 è compreso tra 1 e i rispettivi valori di C colora le celle di arancione;
    4) se il valore di ogni singola cella compresa tra AL4 E BL200 è maggiore dei rispettivi valori di I colora le celle di blu;
    5) se ciascuna cella tra AL4 e BL200 è vuota resta di colore bianco
    La colorazione deve avvenire senza utilizzare la funzione formattazione condizionale, ma con VBA, automaticamente, e senza creazione di pulsanti.
    Come si può fare?
    Grazie per il supporto
  • OFFLINE
    raffaele1953
    Post: 3.424
    Registrato il: 28/06/2011
    Città: AGORDO
    Età: 70
    Utente Master
    2013
    00 07/05/2018 12:01
    >>>ma con VBA, automaticamente, e senza creazione di pulsanti.
    Scusa se non usi un bottone, come si dovrà avviare il codice?
    Excel 2013
  • OFFLINE
    tanimon
    Post: 1.165
    Registrato il: 27/06/2011
    Utente Veteran
    excel 2007
    00 07/05/2018 18:16
    ciao a tutti,
    io farei così:

    sfrutterei l'evento Worksheet Activate del foglio interessato
    definendo un range con l'istruzione "Set"

    ci infilerei un For each Next sul range appena definito
    ed all'interno del ciclo ci metterei un bel Select Case
    per impostare il colore della cella in base al suo valore.

    finito il ciclo,
    distruggerei la variabile range con Set nome_variabile = Nothing

    e alla fine come cigliegina, un bel

    End Sub


    Ciao
    Frank
    [Modificato da tanimon 07/05/2018 18:18]







    Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
    Excel 2007 forse anche 2013 ... 2021 ... 365 e future...