volcado de datos y filtrado

02/06/2009 - 15:42 por gongi | Informe spam
Por favor , grupo, si mediante este código vuelco datos en una hoja
(historico) , y esa hoja esta filtrada (autofiltro) , puede haber
problemas , no ? .Es que he perdido datos y creo que era por esto, Se
puede encajar en el código una comprobación del filtrado y que lo
quite si la hoja está filtrada ?
Muchas gracias por la ayuda.


With Workbooks("historico").Worksheets("historico")

' ver si ya existe el registro comprobando b7 = numero factura'
If Workbooks("historico").Worksheets("historico").Range
("d65536").End(xlUp) = _
Worksheets("liquidacion").Range("b7") Then MsgBox "factura ya
registrada": Exit Sub


With .[a65536].End(xlUp)
.Offset(1).Resize(, 20) = Generales 'nº de columnas del
historico, debe coincidir con el tamaño del array '

End With

End With
 

Leer las respuestas

#1 Juan M
02/06/2009 - 20:28 | Informe spam
Hola,

El siguiente código comprueba si tienes algún filtro aplicado en la hoja y
en el caso despues de mostrar un mensaje desactiva el autofiltro, mostrando
todo el listado.
Una vez hecho esto se debería volver a poner el autofiltro, con
worksheets("Hoja1").Range("A1:C1").autofilter , no está incluido porque no
conozco la fila donde está aplicado.
Otra opción sería recorrer todas las columnas y ir quitando el criterio de
filtrado
worksheets("Hoja1").Autofilter.Filters(i)

Espero haberte aportado algo de luz.

Un saludo,
Juan

El código

Sub CompruebaFiltro()
Dim w As Worksheet

Set w = Worksheets("Hoja1")
If w.FilterMode Then
MsgBox "Activo"
w.AutoFilterMode = False
Else
MsgBox "desactivado"
End If

End Sub

-Consulta Original

"gongi" escribió
Por favor , grupo, si mediante este código vuelco datos en una hoja
(historico) , y esa hoja esta filtrada (autofiltro) , puede haber
problemas , no ? .Es que he perdido datos y creo que era por esto, Se
puede encajar en el código una comprobación del filtrado y que lo
quite si la hoja está filtrada ?
Muchas gracias por la ayuda.


With Workbooks("historico").Worksheets("historico")

' ver si ya existe el registro comprobando b7 = numero factura'
If Workbooks("historico").Worksheets("historico").Range
("d65536").End(xlUp) = _
Worksheets("liquidacion").Range("b7") Then MsgBox "factura ya
registrada": Exit Sub


With .[a65536].End(xlUp)
.Offset(1).Resize(, 20) = Generales 'nº de columnas del
historico, debe coincidir con el tamaño del array '

End With

End With

Preguntas similares