Excel - Ejecutar macro para filtrar partiendo de una celda

   
Vista:

Ejecutar macro para filtrar partiendo de una celda

Publicado por Gary (5 intervenciones) el 06/05/2015 01:31:59
Hola Buenas Tardes,

Ojala puedan ayudarme con mi caso necesito saber como puedo asignar una macro al seleccionar una celda, lo que sucede es que necesito que cuando el usuario se coloque (digamos una celda cualquiera) en "A1" la macro se ejecute, sería bueno primero que haga una conuslta algo así: "Desea ejecutar la macro Si o No?" y a decisión del usuario ésta se ejecute; la macro debería filtrar una pequeña base de datos de acuerdo a 2 criterios que se seleccionen en automático dependiendo de la posición en la que se encuentre la celda, es decir si se encuentra en la columna "Sobresaliente", de la fila "Cortez Llerena Claudia Juana" que filtre por ambos criterios, esto último no es tan necesario basta con que la macro pregunte cuales son los valores por los que se va a filtrar, pero si pudiera darse el primer caso sería mucho mejor.
Les dejo una imagen y el libro de trabajo para una mejor aclaración si pudieran ayudarme se los agradecería mucho, para cualquier consulta mi correo es Gary.UrrutiaSantacruz@xerox.com
Consulta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar macro para filtrar partiendo de una celda

Publicado por Khristtian (77 intervenciones) el 07/05/2015 21:15:53
Debes programar el evento que se produce al activar la celda, y ejecutar el código

1
2
3
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "Aquí ejecuta tu código o llama a los métodos que programes"
End Sub

https://msdn.microsoft.com/es-es/library/office/hh211482(v=office.14).aspx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar macro para filtrar partiendo de una celda

Publicado por Gary (5 intervenciones) el 07/05/2015 21:47:59
Khristtian,

Gracias por tu tiempo, no entendí bien tu respuesta, no sé si debo programar algo previo al código o si el código hace lo que necesito, si fuera el segundo caso debo decir que no está funcionando (no sé si me falte hacer algo), pero he hallado esta forma de ejecutar lo que quiero aunque ya no es con un click sino con doble click.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub startdoubleclick()
Application.OnDoubleClick = "mydoubleclickmacro"
End Sub
 
Sub stopdoubleclick()
Application.OnDoubleClick = ""
End Sub
 
Sub mydoubleclickmacro()
If Selection.Address = "$H$8" Then
 
        Sheets("TOTAL").Select
    ActiveSheet.Range("$A$4:$R$436").AutoFilter Field:=4, Criteria1:= _
        "Casanova Tagle Alfredo"
    ActiveSheet.Range("$A$4:$R$436").AutoFilter Field:=18, Criteria1:= _
        "Sobresaliente"
 
End If
End Sub

Igual gracias por tu apoyo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar