Dynamic Range in Excel VBA
Di seguito vedremo un programma in Excel VBA che colora il valore massimo di una gamma dinamica.
Situazione:
Ogni volta che aggiungiamo un numero e si clicca sul pulsante di comando, vogliamo Excel VBA per colorare il valore massimo di questi numeri.
Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:
-
In primo luogo, si dichiara una variabile e due oggetti Gamma. Una variabile di tipo Double che chiamiamo massima. Chiamiamo la gamma di oggetti RNG e delle cellule.
Dim maximum As Double, rng As Range, cell As Range
-
Aggiungere la riga che cambia il colore di tutte le cellule sfondo a ‘Nessun riempimento’.
Cells.Interior.ColorIndex = 0
-
inizializziamo RNG con i numeri. Usiamo il
link: / VBA-esempi-CurrentRegion [CurrentRegion]
immobili per questo. CurrentRegion è utile quando non conosciamo le esatte confini di una gamma in anticipo.
Set rng = Range("A1").CurrentRegion
-
Inizializziamo il massimo con il valore massimo dei numeri. Usiamo la funzione del foglio di lavoro Max per trovare il valore massimo.
maximum = WorksheetFunction.Max(rng)
-
Infine, coloriamo il valore massimo. Usiamo un For Each Next Loop.
For Each cell In rng If cell.Value = maximum Then cell.Interior.ColorIndex = 22 Next cell
Nota: invece di ColorIndex numero 22 (rosso), è possibile utilizzare qualsiasi numero di ColorIndex.
-
Aggiungere un numero.
Risultato quando si fa clic sul pulsante di comando sul foglio: