Los rangos de nombres son muy comunes de utilizar por los usuarios y no es extraño encontrar una hoja con varios de estos, sobre todos con nombres por cada celda. A continuación se mostrará una macro para colorear todos los rangos con nombres.
Sub formato()
'declararar variables
Dim RangeName As Name
Dim HighlightRange As Range
'Controlar errores
On Error Resume Next
'For para cada rango
For Each RangeName In ActiveWorkbook.Names
Set HighlightRange = RangeName.RefersToRange
'Poner color al rango
HighlightRange.Interior.ColorIndex = 36
Next RangeName
End Sub
La macro funciona realizando un loop por cada rango de nombres y luego los colorea
- Primero se declaran dos objetos variables. Rangename contendrá cada nombre de rango. La variable HighlightRange capturará los rangos de celdas con nombres.
- Dado que se le puede asignar un nombre no solo a un rango de celdas sino también a fórmulas, para evitar que nos indique error, se utilizará RefersToRange para que se omitan esos nombres.
- En este paso, la macro estará cambiando entre los nombres de rangos de la hoja activa
- Cuando seleccioné la etiqueta, la almacenara en la variable HighlightRange, lo que nos permitirá modificar sus propiedades.
(Para mayor visualización de la imagen, hacer click en la misma)
- Luego se colorea el rango.
(Para mayor visualización de la imagen, hacer click en la misma)
- Finalmente, el loop pasará al siguiente rango de nombres y terminará una vez que haya pasado por todos los rangos.
Por: Alonso Rueda