Ocultar flechas en el Autofiltro de Excel

Cuando activas el filtro en una lista de hoja de cálculo de Excel, o si creas una tabla de Excel con nombre, cada celda de la fila de encabezamiento muestra automáticamente una flecha desplegable. Si no las necesita, aquí se explica cómo puede ocultar las flechas en el Autofiltro de Excel.

Flechas del Autofiltro de Excel

En la fila de encabezamiento, un botón de flecha del Autofiltro muestra un icono de filtro, si ha filtrado esa columna. Si señala una flecha con un icono de filtro, un consejo de herramienta emergente muestra los criterios de filtrado.

En la captura de pantalla siguiente, la columna Cliente se ha filtrado para mostrar 3 clientes específicos: FoodMart, MegaStore y VegiVille.

autofiltroflechas01

Opciones de flechas del autofiltro

Para un autofiltro, tiene tres opciones para la visualización de las flechas:

  • Dejar que se muestren todas las flechas
  • Quitar el Autofiltro, que elimina todas las flechas
  • Utilizar la programación para ocultar una o varias flechas.

Quitar manualmente el Autofiltro

Para una lista de hoja de trabajo, o una tabla con nombre, puede activar y desactivar manualmente el Autofiltro, que también muestra u oculta los botones de flecha.

  1. Haga clic en cualquier celda del rango filtrado
  2. En la cinta de Excel, haga clic en la ficha Datos
  3. Haga clic en el botón Filtro.

autofiltroribbon01

Ocultar las flechas del Autofiltro con la macro

Antes de que se añadieran las listas y las tablas con nombre a Excel, sólo podía haber un Autofiltro por hoja de cálculo.

Ahora, además del Autofiltro de una sola hoja de cálculo, puede poner varias tablas con nombre en una hoja. Cada una de esas tablas tiene su propia propiedad de Autofiltro.

Hay ejemplos de código a continuación, para ocultar flechas en un Autofiltro de lista, y un Autofiltro de hoja de trabajo. Hay más ejemplos de VBA de Autofiltro en mi sitio web de Contextures:

  • Autofiltro de hoja de trabajo de Excel VBA
  • Autofiltro de lista de Excel VBA

Ocultar flechas de Autofiltro de lista con VBA

Si desea dejar una o más flechas visibles, pero ocultar las demás, puede utilizar una macro.

En este ejemplo, sólo la segunda columna tendrá una flecha, y todas las demás flechas estarán ocultas.

Este código está diseñado para una tabla con nombre, que tiene su propia propiedad Autofiltro. Puede haber varias tablas con nombre en una hoja de trabajo, y la configuración del Autofiltro de cada tabla puede ser diferente.

Sub HideArrowsList1()'hides all arrows except list 1 column 2Dim Lst As ListObjectDim c As RangeDim i As IntegerApplication.ScreenUpdating = FalseSet Lst = ActiveSheet.ListObjects(1)i = 1For Each c In Lst.HeaderRowRange If i <> 2 Then Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=False Else Lst.Range.AutoFilter Field:=i, _ VisibleDropDown:=True End If i = i + 1NextApplication.ScreenUpdating = TrueEnd Sub

Ocultar las flechas del Autofiltro de la hoja de trabajo con VBA

Para ocultar las flechas del Autofiltro de una tabla de la hoja de trabajo, el código es ligeramente diferente.

Sólo puede haber un Autofiltro de hoja de trabajo en una hoja de trabajo, y en este ejemplo, la lista filtrada comienza en la celda A1.

El siguiente procedimiento oculta las flechas para todas las columnas excepto la columna B.

Sub HideArrows()'hides all arrows except column 2Dim c As RangeDim i As Integeri = Cells(1, 1).End(xlToRight).ColumnApplication.ScreenUpdating = FalseFor Each c In Range(Cells(1, 1), Cells(1, i)) If c.Column <> 2 Then c.AutoFilter Field:=c.Column, _ Visibledropdown:=False End IfNextApplication.ScreenUpdating = TrueEnd Sub

Utilizar las macros de ocultar flechas

Para utilizar estas macros, cópielas en un módulo de código normal en su libro de trabajo. Hay instrucciones aquí.

Sólo tendría que ejecutar el código una vez, después de configurar la lista filtrada. Para ejecutar el código,

  • Haga clic en la pestaña Ver de la cinta de opciones de Excel
  • En el extremo derecho de la pestaña, haga clic en el comando Macros (haga clic en la imagen de la parte superior del comando)
  • En la lista de macros, haga clic en la macro que desee ejecutar
  • Haga clic en el botón Ejecutar.
    .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *