jueves, febrero 26, 2009

Como crear un icono para quitar Autofiltro

En la nota sobre los comandos personalizados para Autofiltro, mostré como agregar ciertos iconos que nos permitan ahorrar tiempo a quienes usamos Autofiltro con frecuencia.

Uno de estos iconos nos permite agregar el autofiltro con un solo clic




Para poner autofiltro a una tabla apretamos este icono. Sería muy conveniente que al apretar nuevamente este icono, quitemos el autofiltro. Es decir, que funcione como un interruptor. Eso es lo que sucede en Excel 2007, pero no en las versiones anteriores. Si queremos quitar el autofiltro tenemos que ir al menú Datos y hacer clic a Filtro.


En esta nota mostraré como crear una macro para cancelar el autofiltro y cómo ligarla a un icono, que pondremos en la misma barra de herramientas del icono de autofiltro.
Empecemos por la macro, que es muy sencilla. En un módulo, preferentemente del cuaderno Personal.xls, ponemos este código


Sub filter_off()
ActiveSheet.AutoFilterMode = False
End Sub

Ahora lo ligaremos a un icono, que luego pondremos en la barra de herramientas correspodiente. Empezamos por abrir el menú Herramientas-Personalizar y en el formulario ir a la pestaña Comandos y elegir la opción Macros



Arrastramos el botón con el “smiley” y lo ubicamos al lado del icono de Autofiltro (el embudo con el símbolo “=” a la izquierda)



Señalamos el icono con el mouse y pulsamos el botón derecho para abrir el menú



Le asignamos la macro, en la ventanilla Nombre ponemos “Cerrar Autofiltro” y seleccionamos la opción “Sólo texto (siempre)”



El resultado es un icono de texto. Al apretar este icono, si en la hoja hay una tabla con Autofiltro, éste será quitado.



Pero sería muy bueno si en lugar del icono de texto apareciera uno similar al de Autofiltro, por ejemplo, un embudo con un signo “=” pero cruzado por una X, es decir, esto



Excel nos provee con las herramientas necesarias para crear el icono. Empezamos por abrir el menú Herramientas-Personalizar y seleccionar (un solo clic) el icono del embudo. Abrimos el menú y apretamos Copiar imagen del botón



Ahora seleccionamos el icono de texto “Cerrar Autofiltro” y en el menú del botón apretamos Pegar imagen



A esta altura del partido tenemos la imagen del embudo junto al texto. Para deshacernos del texto usamos la opción “Estilo predeterminado” y luego elegimos la opción “Modificar imagen del botón”



Esto abre la esta ventanilla, donde podemos modificar la imagen.


En nuestro caso seleccionamos el color rojo (o cualquier otro que encuentren conveniente) en el cuadro de colores (negro es la opción por defecto) y marcamos una X señalando con el mouse los cuadrados correspondientes a la diagonal del cuadro de la imagen



Una vez concluida la tarea apretamos Aceptar. Ahora tenemos dos iconos, uno para poner el Autofiltro y otro para quitarlo



Esta nota tiene un cierto tinte de nostalgia anticipada, ya que las barras de herramientas y los botones han desaparecido de Excel 2007. Supongo que en no mucho tiempo, esta nota será caduca, pero mientras tanto podemos seguir disfrutando de la funcionalidad de las barras de herramientas y la posibilidad de crear botones personalizados.



Technorati Tags:

13 comentarios:

  1. Hola.

    Efectivamente, cuando se trabaja mucho con autofiltro, conviene tener un botón que facilite la tarea. Trabajo de esta manera, así que, por sistema, activo el autofiltro, la inmovilización de cabeceras, etc. nada más crear cualquier tabla de excel.
    Hace tiempo que me hice un botón, al que puse de nombre "AutoF". No recuerdo como lo hice, aunque supongo que copiando el código a través de la grabadora de macros.
    Con él habilito el autofiltro y lo deshabilito (como un interruptor que comentas en el artículo) sin el inconveniente que tiene el comando Autofiltro de que filtra directamente por el valor seleccionado, creo, pues hace mucho tiempo que no lo utilizo.
    Por si hay algo que se me escapa, el código es:
    Sub AutF()

    ' AutF Macro
    ' Macro grabada el 24/08/2008 por Nota
    '

    '
    Selection.AutoFilter
    End Sub

    Solamente darte las gracias por todo lo que he aprendido durante muchos meses en este extraordinario blog.

    ResponderBorrar
  2. He descubierto hoy este blog en el trabajo justamente buscando lo que has explicado. Muchas gracias, me ha sido de gran ayuda.

    También felicitarte por este grandioso blog.

    ResponderBorrar
  3. Que bueno, y el tiempo que me ahorra.

    Lo más útil que he visto en Excel en mucho tiempo... Gracias

    ResponderBorrar
  4. Hola Jorge,

    no es más fácil si directamente agregás el ítem del menú de Autofiltro en la barra que te quede cómoda, y lo dejás que aparezca con la imagen predeterminada? esto es, vas a agregar botones, vas a Datos - Filtro - Autofiltro, y apretando la tecla CTRL, arrastrás el item a a barra, y después le cambiás para que se vea el icono. De esta manera, "prendés" y "apagás" el autofiltro cuando querés, no?


    Saludos,

    ResponderBorrar
  5. Al apilcar el boton de autofiltro dos veces ( por ejemplo), la primera vez se filtra por un criterio y la segunda vez por otro.
    Al quitar el autofiltro se quitan los dos criterios por los que se había filtrado.
    Existe alguna forma de quitar el autofiltro gradualmente, primero por el último criterio de filtrado y así sucesivamente.
    Gracias por el blog que me está ayudando mucho en el trabajo.

    ResponderBorrar
  6. No se me había ocurrido. Gracias por el aporte.

    ResponderBorrar
  7. No, tenés que ir eliminando los criterios uno por uno.

    ResponderBorrar
  8. Excelente pagina, ya lo he divcho...
    pero hoy no puedo seguir mas alla, no me manda el menu de propiedades del boton smile, solo despliega el menu de barras y hasta abajo personalizar y no estan fijas las barras asi q no puedo pasar de ahi...
    la pregunta sería... como activo las propiedades del boton????
    gracias por el aporte...

    ResponderBorrar
  9. No me queda clara la pregunta. Después de arrastrar el smiley a una barra, al apretar el botón derecho del mouse aparece todo el menú.

    ResponderBorrar
  10. Tengo una hoja de excel en que he creado una agenda en una fila he puesto nombre y apellidos y la fila de abajo la foto de la persona y asi con todos mis contactos, el error me surje a la hora de aplicar filtro y autofiltro de por ejemplo personas que se llamen JUAN ya que me los busca pero me apila todas las fotos una encima de las otras, alguien conoce alguna manera para que esto no suceda? gracias.

    ResponderBorrar
  11. Una alternativa, sin entrar a programar macros, es que pongas las imágenes en comentarios. De esta manera al seleccionar la celda aparece la foto de la persona. Cuando la celda está oculta, la foto no se ve.
    En esta nota muestro la técnica para poner imágenes en comentarios.

    ResponderBorrar
  12. ¿Cómo se hace lo de crear un botón nuevo en excel 2007?

    ResponderBorrar
  13. En Excel 2007 no hay barras de herramientas, por lo cual no puedes crear botones. Podrías agregar un icono en la barra de acceso rápido, como muestro en esta nota.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.