Vamos a continuar, esta vez con los segmentadores, que estos objetos lo que hacen es filtrar las tablas dinámicas, como los objetos que se encuentren relacionados con dichas tablas, por ejemplo los gráficos que dependen de ella.
Nos situamos dentro de la tabla dinámica y posteriormente nos vamos al menu de analizar tabla dinámica, dentro existe el Insertar Segmentación de datos y pinchamos en él, y nos mostrará
Ahora vamos a elegir los segmentadores de tipo Activo, Mes, año, nombreDía, tipoDía.
Posteriormente le daremos el diseño que nos guste, o podemos crear uno nuevo. También le daremos el tamaño oportuno y que nos ocupe las columnas que elijamos. Si pinchamos en cada segmentador, y con el botón derecho del ratón, elegimos Configuración de la segmentación de datos, en la parte de abajo suelo poner el click a Ocultar los elementos que no contienen datos. El mes he elegido en cuatro columnas, nombreDía en 3 columnas y año en 3 columnas.
Mi diseño me ha quedado de esta forma y tamaño, que posteriormente lo modificaremos para adecuarlo a la barra donde lo introduciremos.
La altura a la fila se le da, pulsando en la fila y con el botón derecho del ratón Altura de la Fila, y ahí escribimos nuestra altura.
A continuación insertamos un cuadro con los bordes redondeados y le he dado un color verde claro.
Luego, volvemos a insertar otro cuadro, bastante más pequeño y le ponemos el texto de Filtros, quedándonos así:
Y ahora los segmentadores los vamos a poner en dicho cuadro, con copiar o cortar y posteriormente con pegar, de la hoja que los creamos.
Una vez puesto los he alineado a la parte de arriba y distribuido horizontalmente, quedándonos de esta forma.
A continuación le daremos nombre a todos los segmentadores y a los cuadros creado, y procederemos agruparlos. Le he dado el nombre de Grupo_Filtros.
Ahora lo siguiente es crear una macro para que nos lo oculte y nos lo muestre, simplemente pulsando un botón, en este caso nuestro botón filtro, que lo tengo nombrado como Filtro
En mi caso me he ido a la pestaña Programador, luego Visual Basic, y una vez abierta la nueva ventana he creado un nuevo módulo y lo he nombrado como OcultarMostrar.
En este modulo he creado tres macros, dos de ellas son para cambiar el color del botón cuando esté activado el filtro y otra cuando no lo esté.
Sub ColorVerde()
ActiveSheet.Shapes.Range(Array("Filtro")).Select
With Selection.ShapeRange.Fill
.ForeColor.ObjectThemeColor = msoThemeColorAccent6
.ForeColor.Brightness = -0.5
End With
Range("d4").Select
End Sub
Sub ColorBlanco()
ActiveSheet.Shapes.Range(Array("Filtro")).Select
With Selection.ShapeRange.Fill
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.Brightness = 0.5
End With
Range("d4").Select
End Sub
El color verde estará el botón cuando no veamos los segmentadores y blanco cuando los veamos.
Public Sub MostrarOcultarMenuFiltros()
Dim hoja As String
hoja = ActiveSheet.Name
If Sheets(hoja).Shapes("Grupo_Filtros").Visible = False Then
Sheets(hoja).Shapes("Grupo_Filtros").Visible = True
Rows("1:1").RowHeight = 128.25
Call ColorBlanco
Else
Sheets(hoja).Shapes("Grupo_Filtros").Visible = False
Rows("1:1").RowHeight = 7.5
Call ColorVerde
End If
End Sub
Esta última macro, si nos damos cuenta en parte del código llama a la macro ColorBlanco y en otra parte Colorverde.
Si observamos la macro, se hace referencia al Grupo_Filtros, que además de mostrarlo y ocultarlo, cambia el tamaño de la fila "A".
Y esta última es la que hay que asignarsela al botón llamado Filtro.
No hay comentarios:
Publicar un comentario
Gracias por participar en esta página.