Desactivar autofiltro en Private Sub Worksheet_Change

09/08/2012 - 00:00 por titopose | Informe spam
¡ Hola !
Estimados:

Tengo en la hoja MAT la siguiente Private Sub Worksheet que al ingresar un valor en “F” coloca en la celda contigua en “E” el resultado de ese valor multiplicado por “C2”.
Todo va bien siempre y cuando no esté activado el autofiltro para celdas con valor mayor que cero en columna “E”.
Pregunto cual sería el código para que se desactive el filtro antes de ejecutarse y se active al salir.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub
If IsEmpty(Target) Then Exit Sub
If Not Intersect(Target, Range("f1:f100")) Is Nothing Then
ActiveCell.Offset(-1, 0).Activate
ActiveCell.Offset(, -1).Formula = "=c2* " & ActiveCell.Address
ActiveCell.Offset(1, 0).Select
End If
End Sub

Saludos y
gracias!

Preguntas similare

Leer las respuestas

#1 Juanca de Tucma
15/08/2012 - 13:52 | Informe spam
El miércoles, 8 de agosto de 2012 19:03:23 UTC-3, titopose escribió:
¡ Hola ! Estimados: Tengo en la hoja MAT la siguiente Private Sub Worksheet que al ingresar un valor en “F” coloca en la celda contigua en “E” el resultado de ese valor multiplicado por “C2”. Todo va bien siempre y cuando no esté activado el autofiltro para celdas con valor mayor que cero en columna “E”. Pregunto cual sería el código para que se desactive el filtro antes de ejecutarse y se active al salir. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If IsEmpty(Target) Then Exit Sub If Not Intersect(Target, Range("f1:f100")) Is Nothing Then ActiveCell.Offset(-1, 0).Activate ActiveCell.Offset(, -1).Formula = "Â* " & ActiveCell.Address ActiveCell.Offset(1, 0).Select End If End Sub Saludos y gracias!



Hola titopose

Tal vez te sirva esto:
Sub Poner_Filtro()
Sheets("Hoja1").Activate
Range("A4:G4").Select
If Sheets("Hoja1").AutoFilterMode = False Then
Selection.AutoFilter
End If
End Sub

Sub Sacar_Filtro()
Sheets("Hoja1").Activate
Range("A4:G4").Select
If Sheets("Hoja1").AutoFilterMode = True Then
Selection.AutoFilter
End If
End Sub
Respuesta Responder a este mensaje
#2 titopose
17/08/2012 - 02:44 | Informe spam
Juanca de Tucma escribió el 15/08/2012 13:52 :
El miércoles, 8 de agosto de 2012 19:03:23 UTC-3, titopose
escribió:
¡ Hola ! Estimados: Tengo en la hoja MAT la siguiente Private Sub
Worksheet que al ingresar un valor en “F” coloca en la celda
contigua en “E” el resultado de ese valor multiplicado por
“C2”. Todo va bien siempre y cuando no esté activado el
autofiltro para celdas con valor mayor que cero en columna “E”.
Pregunto cual sería el código para que se desactive el filtro
antes de ejecutarse y se active al salir. Private Sub Worksheet_Change(ByVal
Target As Range) If Target.Cells.Count > 1 Then Exit Sub If IsEmpty(Target)
Then Exit Sub If Not Intersect(Target, Range("f1:f100")) Is Nothing
Then ActiveCell.Offset(-1, 0).Activate ActiveCell.Offset(, -1).Formula =
"Â* " & ActiveCell.Address ActiveCell.Offset(1, 0).Select End
If End Sub Saludos y gracias!




Hola titopose

Tal vez te sirva esto:
Sub Poner_Filtro()
Sheets("Hoja1").Activate
Range("A4:G4").Select
If Sheets("Hoja1").AutoFilterMode = False Then
Selection.AutoFilter
End If
End Sub

Sub Sacar_Filtro()
Sheets("Hoja1").Activate
Range("A4:G4").Select
If Sheets("Hoja1").AutoFilterMode = True Then
Selection.AutoFilter
End If
End Sub


Gracias Juanca!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida