Rango Dinámico en Excel VBA
A continuación vamos a ver un programa en Excel VBA que los colores el valor máximo de un rango dinámico.
Situación:
Cada vez que añada un número y haga clic en el botón de comando, queremos Excel VBA para colorear el valor máximo de estos números.
Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:
-
En primer lugar, declaramos una variable y dos objetos Range. Una variable de tipo doble que llamamos máxima. Llamamos a la gama de objetos RNG y celular.
Dim maximum As Double, rng As Range, cell As Range
-
Añadimos la línea que cambia el color de fondo de todas las células a ‘Sin relleno’.
Cells.Interior.ColorIndex = 0
-
inicializamos RNG con los números. Usamos el
enlace: / VBA-ejemplos-CurrentRegion [CurrentRegion]
propiedad por éste. CurrentRegion es útil cuando no conocemos los límites exactos de un rango de antemano.
Set rng = Range("A1").CurrentRegion
-
inicializamos máxima con el valor máximo de los números. Usamos la función de hoja de Max para encontrar el valor máximo.
maximum = WorksheetFunction.Max(rng)
-
Por último, coloreamos el valor máximo. Utilizamos un For Each bucle siguiente.
For Each cell In rng If cell.Value = maximum Then cell.Interior.ColorIndex = 22 Next cell
Nota: en lugar de ColorIndex número 22 (rojo), se puede utilizar cualquier número ColorIndex.
-
Añadir un número.
Como resultado al hacer clic en el botón de comando en la hoja: