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.
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:
14/3 Completado! Más información sobre el objeto de rango>
Siguiente capítulo: Variables