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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 gongi
03/06/2009 - 10:50 | Informe spam
On 2 jun, 20:28, "Juan M" wrote:
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



Gracias Juan ! . Claro , se me olvido decirte el criterio de filtrado
y demás, pero con quitar el filtro con el código que me has facilitado
es mas que suficiente. Muchísimas gracias.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida