In questo articolo, creeremo una macro per applicare la formattazione condizionale nell'area selezionata.
Abbiamo usato numeri casuali come dati di esempio per dimostrare il funzionamento della macro.
La macro può essere eseguita facendo clic sul pulsante "Trova Max" sul foglio "Principale".
Spiegazione logica
Abbiamo creato la macro "ConditionalFormat" per applicare la formattazione condizionale all'area selezionata. Questa macro evidenzia la cella in colore viola, che contiene il valore massimo nell'area selezionata.
Prima di eseguire questa macro, si deve selezionare un'area su cui si vuole applicare la formattazione condizionale.
Ad esempio, abbiamo selezionato un intervallo di celle da B9 a F17 come campione di dati selezionati.
All'esecuzione della macro dopo aver selezionato l'area campione, la formattazione condizionale viene applicata all'area selezionata e la cella D16, che contiene il valore più alto (97), verrà evidenziata in colore viola.
Ora, prendi un altro campione. Abbiamo selezionato l'intervallo dalla cella B10 a F13 come seconda area campione.
Dopo aver selezionato la seconda area di esempio, fare clic sul pulsante "Trova Max" per eseguire la macro. La formattazione condizionale verrà applicata all'area selezionata e la cella C11 verrà evidenziata in colore viola, poiché contiene il valore massimo (92) nell'area selezionata.
Dopo aver eseguito la macro per due campioni diversi, a entrambi viene applicata la formattazione condizionale. Nei dati del campione, entrambe le celle C11 e D16 saranno evidenziate in colore viola, in quanto rappresentano i valori massimi nei rispettivi campioni.
Se i valori in uno qualsiasi dei campioni vengono modificati e uno dei nuovi valori inseriti è il valore più alto, verrà evidenziata la cella con quel particolare valore.
Spiegazione del codice
Selection.FormatConditions.Delete
Il codice sopra viene utilizzato per eliminare qualsiasi formattazione condizionale applicata ai dati selezionati.
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"
Il codice sopra viene utilizzato per aggiungere una nuova formattazione condizionale. Il tipo specifica che l'espressione viene utilizzata per applicare la formattazione della condizione. La formula dell'espressione è definita in Formula1.
Selection.Cells(1).Address(False, False)
Il codice sopra viene utilizzato per fare riferimento all'indirizzo della prima cella nella selezione.
"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"
Il codice sopra viene utilizzato per confrontare il valore della prima cella selezionata con il valore massimo della selezione.
Selection.FormatConditions(1).Interior.ColorIndex = 39
Il codice sopra viene utilizzato per assegnare il colore viola alla cella che soddisfa la condizione della formattazione.
Si prega di seguire sotto per il codice
Sub ConditionalFormat() With Selection 'Elimina qualsiasi formattazione condizionale precedente .FormatConditions.Delete 'aggiungi la formattazione condizionale alla cella selezionata .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=" & Selection.Cells(1).Address(False , False) & "=MAX(" & Selection.Address & ")" 'Assegnazione del colore viola per la formattazione condizionale .FormatConditions(1).Interior.ColorIndex = 39 End With End Sub
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.
Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica