me gusta trabajar con el teclado y ya que no he conseguido activarle todos los atajos que quisiera, alguien me podría decir qué podría hacer para poder activar los filtros desde el mismo, da igual sea con una macro.
Muchas gracias!!
Jorge
> me gusta trabajar con el teclado ... no he conseguido ... activar los filtros desde el mismo [...]
=>en la celda/titulo<= con el 'autofiltro' que necesitas 'activar' [por teclado]...
presiona {Alt}+{flecha-bajo} ;)
saludos,
hector.
no me refería a eso, pero me ha venido muy bien tu respuesta porque no sabía que se podía hacer.
Me refería a que aparezcan los filtros en la cabecera, es decir, en vez de Datos/Filtro/Autofiltro, activar la opción del autofiltro directamente desde el teclado.
Muchas gracias,
Jorge
"Héctor Miguel" escribió:
> ... que ... en vez de Datos/Filtro/Autofiltro, activar ... autofiltro directamente desde el teclado.
puedes 'asignar' una macro a una 'combinacion' de teclas usando el metodo 'OnKey'
para 'emular' las acciones de [des-]activar los autofiltros 'estando' en alguna celda de la 'base de datos'.
te expongo un ejemplo al final, usando la combinacion {Ctrl}+{F1} [que es de las -pocas- 'libres']
solo 'recuerda' que NO puede haber mas de una lista 'filtrada' =>por hoja<=
[la puedes 'agregar' a tu libro de macros 'Personal.xls' o... algun 'complemento' -AddIn- {.XLA}] ;)
saludos,
hector.
=== en el modulo de codigo del libro [ThisWorkbook] ===
Private Sub Workbook_Open()
Application.OnKey "^{F1}", "AutoFiltrosPorTeclado"
End Sub
=== en un modulo de codigo 'normal' ===
Option Private Module
Sub AutoFiltrosPorTeclado()
If ActiveSheet.UsedRange.Address = "$A$1" Then Exit Sub
If TypeName(Selection) <> "Range" Then GoTo SelecciónNoVálida
With ActiveCell.CurrentRegion
If .Count > 1 Then
If .Parent.AutoFilterMode Then
If .Parent.AutoFilter.Range.Address <> .Address Then .AutoFilter
End If
.AutoFilter
Else: GoTo SelecciónNoVálida
End If
End With
Exit Sub
SelecciónNoVálida:
MsgBox """Activa"" por favor [alg]una celda" & vbCr & _
"""dentro"" [o... ""cerca""] de la lista ""a filtrar"".", _
vbInformation, "AutoFiltros por teclado"
End Sub
Sub Autofiltro()
Selection.AutoFilter
End Sub
Cada vez que la ejecutas activa o desactiva el autofilter. Puedes esta en cualquier parte de tu tabla de datos si esta no contiene filas vacias. Lo mejor es que ejecutes la macro estando en la primera fila de tu tabla de datos.
Para asignar la tecla de ejecucion de la macro selecciona en el menu:
Herramientas, Macro, Macros, Opciones
Si eres nuevo en macros puedes chequear el siguiente link:
http://www.mailxmail.com/curso/informatica/macros/toc.htm
--
David Canales
Sub Autofiltro()
Selection.AutoFilter
End Sub
Para activarla tienes que estar ubicado en la tabla de datos, de preferencia en la primera fila. Esta macro activa y desactiva los filtros.
Para seleccionar la tecla para ejecutarla selecciona en el menu:
Herramientas, Macro, Macros, Opciones
Si eres nuevo en macros de excel chequea este link:
http://www.mailxmail.com/curso/informatica/macros/toc.htm
--
David Canales