Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Agrupar las hojas por color de etiqueta

| 1 comentario

En ocasiones asignamos colores diferentes a las etiquetas de las hojas de un libro en Excel para indicar que el contenido de las mismas está relacionado de alguna manera. Por ejemplo, podemos usar el color amarillo para indicar que los datos que contienen esas hojas corresponden a la industria y el color púrpura para indicar que el contenido se refiere a una empresa particular de la industria.

Excel identifica los colores como una característica particular indicando un número índice a cada color; de esta manera, si se etiqueta las hojas con colores diferentes se podrá agrupar las hojas de acuerdo a esta característica.

Esta macro comparará en forma reiterativa el número índice del color de una hoja etiquetada con su inmediata anterior; si ésta tiene el mismo número, la moverá al lugar inmediato posterior.

El texto sería el siguiente:

Sub GroupbyColor ()

‘Paso 1: Declarar las variables

Dim CurrentSheetIndex As Integer

Dim PrevSheetIndex As Integer

‘Paso 2: Establecer el conteo e iteración inicial

For CurrentSheetIndex = 1 To Sheets.Count

For PrevSheetIndex = 1 To CurrentSheetIndex - 1

‘Paso 3: Comparar la hoja actual con la hoja previa

If Sheets(PrevSheetIndex).Tab.ColorIndex = _

Sheets(CurrentSheetIndex).Tab.ColorIndex Then

‘Paso 4: Si cumple con la condición mover la hoja previa al lugar inmediato posterior

Sheets(PrevSheetIndex).Move _

Before:=Sheets(CurrentSheetIndex)

End If

‘Paso 5: Iniciar el bucle para iterar la macro

Next PrevSheetIndex

Next CurrentSheetIndex

End Sub

 

Ejemplo: Group Worksheets by Color

Un comentario

  1. quiero diseñar una macro que dependiendo de un valor en una hoja inicial, cambie el color de la etiqueta de una hoja especifica

    digamos en la "hoja1" tengo una tabla una columna es "nombre" la otra es "Puedo prestarle" las siguientes hojas son para cada una de las personas, pero quiero que el color de la etiqueta por persona cambie de color, verde para SI y rojo para NO

Deja una respuesta

Los campos requeridos estan marcados con *.