A continuación, veremos un programa en Excel VBA que colorea el valor máximo de un rango dinámico .

Situación:

Cada vez que agregamos un número y hacemos clic en el botón de comando, queremos que Excel VBA coloree el valor máximo de estos números.

Rango dinámico en Excel VBA

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, declaramos una variable y dos objetos Range. Una variable de tipo Double la llamamos máximo. Llamamos a los objetos Range rng y cell.

Dim maximum As Double, rng As Range, cell As Range

2. Agregamos la línea que cambia el color de fondo de todas las celdas a 'Sin relleno'.

Cells.Interior.ColorIndex = 0

3. Inicializamos rng con los números. Usamos la propiedad CurrentRegion para esto. CurrentRegion es útil cuando no conocemos los límites exactos de un rango de antemano.

Set rng = Range("A1").CurrentRegion

4. Inicializamos máximo con el valor máximo de los números. Usamos la función Max de la hoja de trabajo para encontrar el valor máximo.

maximum = WorksheetFunction.Max(rng)

5. Finalmente, coloreamos el valor máximo. Usamos un For Each Next Loop.

For Each cell In rng
    If cell.Value = maximum Then cell.Interior.ColorIndex = 22
Next cell

Nota: en lugar del número 22 de ColorIndex (rojo), puede utilizar cualquier número de ColorIndex.

6. Agregue un número.

Resultado al hacer clic en el botón de comando en la hoja:

Resultado de rango dinámico

14/3 Completado! Más información sobre el objeto de rango>
Siguiente capítulo: Variables