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.

Dynamic Range in Excel VBA

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

  1. 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
  1. Aggiungere la riga che cambia il colore di tutte le cellule sfondo a ‘Nessun riempimento’.

Cells.Interior.ColorIndex = 0
  1. 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
  1. 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)
  1. 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.

  1. Aggiungere un numero.

Risultato quando si fa clic sul pulsante di comando sul foglio:

Dynamic Range Result