Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Macro - Activar Filtros

624 views
Skip to first unread message

AP@discussions.microsoft.com Jorge AP

unread,
Jun 11, 2004, 11:18:01 AM6/11/04
to
Hola a todos!!

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

Héctor Miguel

unread,
Jun 11, 2004, 1:13:14 PM6/11/04
to
hola, 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.

Jorge AP

unread,
Jun 12, 2004, 5:46:01 PM6/12/04
to
Muchas gracias 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ó:

Héctor Miguel

unread,
Jun 13, 2004, 3:41:58 AM6/13/04
to
hola, Jorge !

> ... 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

David Canales

unread,
Jun 13, 2004, 4:25:01 AM6/13/04
to
Utiliza la siguiente macro:

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

David Canales

unread,
Jun 13, 2004, 4:29:01 AM6/13/04
to
Prueba la siguiente macro:

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

ccubill...@misena.edu.co

unread,
Mar 2, 2016, 8:31:45 AM3/2/16
to
Buenos días, agradezco si me pueden colaborar tengo la siguiente macro y tengo un autofiltro pero cuando se ejecuta la macro me desactiva el autofiltro.... no se como incluir la función y en que parte exactamente.



Sub PedidoNuevo()
'
' PedidoNuevo Macro
' Borra el formulario y lo deja limpio para hacer un nuevo pedido. Los descuentos y los datos del cliente quedan iguales.
'

ActiveSheet.Unprotect "pedidos"
ActiveSheet.Range("$D$18:$N$178").AutoFilter Field:=5
Selection.AutoFilter Field:=5
Range("I18:I178,M18:N18").Select
Range("M18").Activate
ActiveWindow.SmallScroll Down:=-156
Range("I18:I178,M18:N18,K28:K178").Select
Range("K28").Activate
ActiveWindow.SmallScroll Down:=-9
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-159
Range("I18").Select

ActiveSheet.Protect "pedidos"


End Sub



gracias.

--




*Declinación de Responsabilidades:* Los servicios de MISENA son soportados
tecnológicamente por (c) Google y ofrecidos por el Servicio Nacional de
Aprendizaje - SENA de manera gratuita a los aprendices e instructores de
programas de formación titulada, las opiniones que contenga este mensaje
son exclusivas de su autor y no representan la opinión del Servicio
Nacional de Aprendizaje o de sus autoridades. El receptor deberá verificar
posibles virus informáticos que tenga el correo o cualquier anexo, razón
por la cual el SENA no es responsable de los daños causados por cualquier
virus transmitido en este correo electrónico.

Los contenidos, textos, imágenes, archivos enviados en este mensaje son
responsabilidad exclusiva del remitente y no reflejan ni comprometen de
ninguna manera a la institución. No se autoriza el uso de esta herramienta
para el intercambio de correos masivos, cadenas o spam, ni de mensajes
ofensivos, de carácter político, sexual o religioso, con fines de lucro,
con propósitos delictivos o cualquier otro mensaje que se considere
indebido o que vaya en contra de la Ley.
0 new messages